R-wave detection method

ABSTRACT

A method for detecting an R-wave from an ECG signal derived from a living body, the ECG signal including a plurality of ECG channel signals, the method comprising the steps of providing a plurality of channel R-wave detectors each processing a distinct signal of the plurality of channel ECG signals to generate a distinct channel trigger signal of a plurality of channel trigger signals, and inputting each channel trigger signal into a composite R-wave detector to generate a composite R-wave trigger, whereby the composite R-wave detector more accurately detects R-waves than each of the plurality of channel R-wave detectors.

RELATED APPLICATIONS

This application is a divisional of U.S. patent application Ser. No.13/607,185, filed on Sep. 7, 2012. Application Ser. No. 13/607,185claims the benefit of U.S. Provisional Applications 61/573,557, filed onSep. 8, 2011, and 61/627,728, filed on Oct. 17, 2011, the entirecontents of which are incorporated herein by reference.

FIELD OF THE INVENTION

The present invention generally relates to cardiac signal processingand, more particularly, to systems which analyze ECG signals to detectthe QRS complex.

BACKGROUND OF THE INVENTION

The present invention is described in the context of a fluoroscopicimaging system which optionally may use a cardiac gating signal toselect certain images from its image stream based on cardiac-cycle data.

Anatomical mapping systems provide the 3D position of a navigationalcatheter within the cardiac chamber of interest and, in some instances,can also be used to construct 3D maps of the cardiac chamber. Thesesystems are, however, quite expensive to both acquire and operate.Therefore, these systems are available only in a few laboratories foruse during interventional procedures, and some of these systems mayrequire specifically-designed catheters such as catheters with built-insensors.

Conventional fluoroscopy systems are available in all cardiacinterventional labs for imaging and real-time navigation of cathetersand other instruments and for the placement of leads and stents duringinterventional procedures. Other than the initial acquisition cost, suchsystems require little ongoing operation costs. Further, conventionalfluoroscopic systems are able to visualize any type of catheter.

FIGS. 1A and 1B illustrate two examples of images obtained from aconventional fluoroscopic system during an atrial fibrillation ablationprocedure. Shown in FIGS. 1A and 1B are a mapping and ablation catheter2, an esophageal probe 3 which is placed inside the esophagus (posteriorto the heart), a multi-electrode basket catheter 4, and a coronary sinuscatheter 5. These catheters include radio-absorbing material and providegood image contrast compared to the biological tissue such as the lungs6 and the cardiac silhouette 7. The attenuation of the X-ray beam in thelung is inferior to that of the heart because the lungs are filled withair, the density of which is less than regular anatomical tissue. Thereis no depth (z-axis) information of the different catheters discerniblein these images despite the location of various structures and cathetersin different orientations.

As illustrated in FIGS. 1A and 1B, fluoroscopy images produced byconventional systems have the limitation that they do not provide 3Dimage data. Biplane fluoroscopy (two 2D views from different directions)can be used to identify the relative position of an object such as acatheter. However, its usefulness is limited due to cost and toexcessive radiation, and only 1 to 2% of interventional labs have thecapability to perform biplane fluoroscopy.

FIG. 2 illustrates a conventional fluoroscopic system 10 used to acquire2D fluoroscopic image data. The imaging process for conventionalfluoroscopy involves an X-ray source 11 which sends an X-ray beamthrough a patient (not shown) on a table 12. X-ray generation isinitiated by actuating a foot pedal 9 on a control panel 15 which isconnected (connection not shown) to fluoroscopic system 10. An X-raydetector 13, which may be a flat-panel detector or an imageintensifier/video camera assembly, receives the X-rays transmittedthrough the patient and converts the X-ray energy into an image. X-raysource 11 and X-ray detector 13 are mounted on opposite ends of a C-arm8. Detector 13 performs the conversion using an X-ray detection layerthat either produces light or releases electrons when stimulated byX-rays, and a light-to-electron conversion layer, e.g., photodiodes orelectron collection layer, as appropriate, in which an electrical chargesignal proportional to X-ray signal intensity in each picture element(pixel) is collected. Analog-to-digital conversion then produces adigital image. Whatever the X-ray detector, the resulting digital imageis then processed, possibly stored, and displayed on a screen 14. Acontrol panel is shown at 15. Images may then be displayed on a computerdisplay 14.

FIG. 3 illustrates a coordinate system for fluoroscopic system 10. Thez-axis is defined from X-ray source 11 to the center of X-ray detector13. X-ray (used interchangeably with fluoroscopy) table 12 defines anx-axis and a y-axis. The three axes are shown by the solid lines. Theintersection of the axes is the center, or origin O, at (0,0,0) of the3D space defined by axes x, y and z. Since C-arm 8 is able to move, thez-axis is defined herein when C-arm 8 is oriented in a vertical positionas shown in FIG. 2, or a PA position (posterior-anterior position).

X-ray source 11 includes a cathode and an anode. Electrons interact withthe anode material producing X-ray photons forming a cone-shaped beam.The beam is controlled by collimator blades to limit the patient'sradiation exposure. The X-ray photons propagate in straight lines,forming an image on X-ray detector 13 at a precise location representingthe matter encountered all along the ray that goes from the point ofX-ray emission from source 11 to this location (pixel in the image) indetector 13. The intensity of the pixel is defined by the type andamount of material (tissue, contrast agent, interventional tool)encountered along this path. The attenuation of the X-ray beam varies asa function of the atomic number and the density of the traversed tissue.The current commercial standard for X-ray image resolution is about 0.2mm×0.2 mm.

Fluoroscopic images, because they are projections, are representationsof the imaged volume of 3D anatomy. This volume is transformed into a 2Dprojected image on X-ray detector 13 according to precise geometricrules based on the position of X-ray source 11, patient anatomy anddetector position in the z direction (parallel to the central raypassing through center O). X-ray projection imaging thus embodies aninherent distortion due to the fact that X-ray source 11 is a finitedistance from the anatomy being imaged. As a result, objects closer toX-ray source 11 are magnified in the detected image more than objectsmore distant from X-ray source 11, and there is no way to resolve theseambiguities without knowing the positions (or a priori sizes) of theobjects of interest along the z-axis.

FIG. 3B is an illustration of the geometric magnification which resultsfrom the geometric arrangement and conic form of the output of the X-raysource 11 of the X-ray machine 10. FIG. 3B shows a simple 2Drepresentation of the geometry of X-ray machine 10, including source 11,table 12 and detector 13. An object having width w_(o) forms an imagehaving an image width w_(i) on detector 13. (For simplicity, such objectand image are also referred to with reference identifiers w_(o) andw_(i), respectively.) Object w_(o) is located at a distance SOD(source-to-object distance) from source 11, and detector 13 is locatedat a distance SID (source-to-image distance) from source 11. By simplegeometry, the ratio of w_(i) to w_(o) is equal to the ratio of SID toSOD. Thus, the geometric magnification M of such an arrangement isM=SID/SOD.

In U.S. patent application Ser. No. 12/885,710, entitled “3D ModelCreation of Anatomic Structures Using Single-Plane Fluoroscopy,” analgorithm for estimating 3D coordinates of a point of interest such as acatheter tip using single-plane fluoroscopy is disclosed. The algorithmcomputes 3D position estimates by: (1) determining the 3D coordinates ofan initial catheter-tip position; (2) advancing the catheter a small,measured amount and obtaining a fluoroscopic image; (3) measuringchanges in the position of the catheter tip between the position in theimage and the initial position of the catheter tip; (4) computing theactual (physical) changes in catheter-tip position in the x and ydirections; (5) computing the 3D position of the catheter tip based onthe geometry of the fluoroscopic system and changes in catheter-tipposition in x and y; and (6) repeating these steps to generate a seriesof 3D positions of the catheter tip. This algorithm depends knowledge ofthe initial 3D coordinates of the catheter tip and advancing thecatheter by small, measurable amounts to be able to assume that thecatheter tip moves in straight lines. This assumption permits the use ofa linear distance formula to compute the 3D coordinates of successivepoint-of-interest locations. Initial phantom tests have suggested theexisting algorithm is reasonable (error <8 mm) when the assumptions aremet. However, in some scenarios, the restrictions on catheteradvancement are too severe to be able to reduce 3D position errors.

A paper by Pascal Fallavollita entitled “Is Single-View FluoroscopySufficient in Guiding Cardiac Ablation Procedures?” published in theInternational Journal of Biomedical Imaging, Vol. 2010, Article ID631264, describes a system which uses X-ray system geometry and imagefiltering and pattern recognition techniques to estimate the depth(z-axis coordinate) of a catheter tip. The present invention is asignificant improvement over the approach of Fallavollita, achievingincreased accuracy and doing so in an automated fashion to avoid placingadditional requirements on the clinician. The invention identifies thecues present within the fluoroscopic system and uses complexcomputational algorithms to identify the 3D location of the catheter.Pixel values in fluoroscopic images are affected by out-of-plane angle,depth, and distance from the central ray, and these and othercharacteristics are taken into account to identify more preciseestimates of 3D locations of the catheter tip. With 3D locations ofcatheter tips determined, various 3D maps such as activation and voltageare created.

It is desired that for a method to be useful, the z-coordinate accuracyof a method of determining 3D coordinates in a fluoroscopic environmentshould achieve depth (z-coordinate) accuracy of ±4 mm. At least suchaccuracy is desirable since, for example, a typical lesion formed by acardiac ablation catheter may be about 4-6 mm in diameter; thuspositioning accuracy on that order is desirable for the inventive methodto be useful during such interventional procedures.

OBJECTS OF THE INVENTION

It is an object of the present invention to provide an R-wave detectorwhich generates an accurate indication of the occurrence on an R-wavewithin an ECG signal from a living body.

Another object of the inventive R-wave detector is to provide an R-wavedetector which provides a very accurate indication of heart rate.

Another object of the inventive R-wave detector is to provide an R-wavedetector which reliably detects R-waves in ECG signals havingwidely-varying properties.

Yet another object of the present invention is to provide an R-wavedetector which operates with a threshold that is independent of levelsof the ECG signal at which previously-detected R-waves are detected.

Still another object of the present invention is to provide an R-wavedetector which detects R-waves with a very low rates of false negativeand false positive detections.

Another object of the inventive R-wave detector is to provide an R-wavedetector which can generate a reliable gating signal to a medicalimaging system.

Another object of the inventive R-wave detector is to provide an R-wavedetector which can detect R-waves reliably from noisy ECG signals.

Another object of the inventive R-wave detector is to provide an R-wavedetector which has low computational requirements and which operatesautomatically and with minimal delay.

Another object of the inventive R-wave detector is to provide an R-wavedetector which can operate on a single ECG signal channel

Yet another object of the inventive R-wave detector is to provide anR-wave detector which can provide further improved accuracy by utilizingmultiple ECG signal channels.

Still another object of the inventive R-wave detector is to provide anR-wave detector which provides an reliable indication of continued ECGsignal connection.

These and other objects of the invention will be apparent from thefollowing descriptions and from the drawings.

SUMMARY OF THE INVENTION

The present invention is a method for detecting an R-wave from an ECGsignal derived from a living body. The method includes the steps of (a)acquiring the ECG signal from the living body, (b) digitizing the ECGsignal into a digital ECG signal, (c) filtering the digital ECG signalwith a bandpass filter and applying an absolute value filter thereto tocreate a filtered ECG signal, (d) for each sequential value of thefiltered ECG signal, comparing the filtered ECG signal to an ECGtracking threshold (TT), (e) if the filtered ECG signal is no greaterthan TT, incrementing a counter, but if greater than TT, setting thecounter to zero; and (f) comparing the counter to a predeterminedrefractory count RC and, if the count is equal to RC, outputting anR-wave trigger indicating that an R-wave has been detected.

The invention has one important application which is providing a gatingsignal to fluoroscopic imaging systems in order to select images ofanatomical structures which have minimal motion artifacts or are in aparticular phase with respect to the cardiac cycle. The inventive R-wavedetector disclosed herein is described in the context of such afluoroscopic imaging system which the subject of a concurrently-filedpatent application, the inventors of which include the inventors hereof.

It will be helpful in understanding the present invention to lay outdefinitions of certain terms used herein.

The term “radio-opaque medical object” as used herein refers to variousmedical instruments, tools, inserts, and the like such as catheter tips,pacemaker and defibrillator leads, stents, identifiable portions oflarger medical objects, and the like which are substantiallyradio-opaque and have fixed dimensions. Most of this document describesthe present invention in the context of determining location andorientation of a cardiac catheter tip. However, this embodiment is notintended to be limiting; the invention is applicable to a wide varietyof radio-opaque medical objects, and the specific lists of object typesand example objects are also not intended to be limiting. The term“radio-opaque medical object” is sometimes shortened herein as “medicalobject.”

As used herein, the term “single-plane fluoroscopy” refers to operationof a fluoroscopy system at a fixed angle at which all images are takenduring a procedure. The present invention is a method for the 3Dreconstruction of the positions of a catheter as it is moved within aregion of the human body, such as a cardiac chamber. Although thepresent invention involves only one fixed angle to be used to createimages, as described later in this document, the invention may includetwo views for independent assessment of depth for initialization.

The term “two-view fluoroscopic measurement” as used herein refers toPOI 3D position determination using two fluoroscopic images taken atdifferent angles of the C-arm.

The term “forming clusters of image pixels” as used herein refers to theprocess by which pixels in an image are grouped together or associatedwith one another as possible images of a medical object being sensed.

The term “pixel-level geometric calculations” as used herein refers tocalculations which preserve the original pixel-intensity values andpermit statistical calculations to be performed on the pixel intensityvalues. Pixel-level geometric calculations are described in more detaillater in this document.

The term “effective X-ray dimensions” as used herein refers todimensions which are measured in a consistent fashion such that even ifthe dimensions are not equivalent to the actual physical dimensions ofthe radio-opaque medical object being measured, the effective dimensionsare consistently sensed and therefore can be relied upon in themeasurement process. Further discussion of effective X-ray dimensions isincluded below in this document.

The term “keystoning” as used herein refers to the variations in imagewidth due to out-of-plane orientation angle.

The term “refractory count” as used herein refers to a count thatcorresponds to a time period. No limitation is intended as to how thetime period is determined, i.e., it does not have to be determined by acounter.

The term “trigger-window filter” as used herein refers to a process bywhich inputs to such filter are ignored during a particular time window(lockout period) based on other inputs received by the filter.

The term “OR-gate” as used herein refers to a device or process whichperforms the logical OR operation. Such operation is well known to thoseskilled in the art of instrumentation.

The terms “location” and “position” are used interchangeably herein torefer to the 3D coordinates of an object such as a catheter tip or otherimaged structures.

In certain embodiments, TT is determined by applying the followingcomputation TT=TT_(p)+c₂ (ST−TT_(p)) where TT_(p) is the previous valueof TT, c₂ is a constant, and ST is a fraction (c₁) of the maximum valueof the filtered ECG signal during a previous predetermined time period(t_(m)). In some such embodiments, if no R-wave trigger has occurred fora predetermined dropout period (t_(D)), TT is set to ST. In somepreferred embodiments, c₁ is about 0.5, c₂ is about 0.25, t_(m) is about2 seconds, RC corresponds to a time period of about 90 milliseconds, andt_(D) is about 5 seconds. In certain embodiments, t_(D) is within therange of about 2 to 10 seconds. In other embodiments, c₁ may be withinthe range of about 0.4 to 0.7, c₂ may be within the range of about 0.15to 0.8, t_(m) may be at least about 1.5 seconds, and the refractorycount RC may correspond to a period within the range of about 30 to 250milliseconds.

Another aspect of this invention is a method for detecting an R-wavefrom an ECG signal derived from a living body wherein the ECG signalincludes a plurality of ECG channel signals and the method includes thesteps of (1) providing a plurality of channel R-wave detectors eachprocessing a distinct signal of the plurality of channel ECG signals togenerate a distinct channel trigger signal of a plurality of channeltrigger signals and (2) inputting each channel trigger signal into acomposite R-wave detector to generate a composite R-wave trigger. Theinventive composite R-wave detector more accurately detects R-waves thaneach of the plurality of channel R-wave detectors.

In some preferred embodiments, each of the plurality of channel triggersignals is an input to a trigger-window filter, and a composite triggeroutput of the composite R-wave detector is triggered by a channeltrigger signal from any one of the channel R-wave detectors, all channeltrigger signals for the other channel R-wave detectors not triggeringthe composite R-wave detector for a predetermined time period after thecomposite R-wave detector trigger output is triggered. In some of theseembodiments, the channel trigger signal triggering the composite R-wavedetector is the first-received channel trigger signal after thepredetermined time period has ended.

In other preferred embodiments, each of the plurality of channel triggersignals is an input to an OR-gate the output of which is the triggeroutput of the composite R-wave detector, and in some of these preferredembodiments, each channel trigger signal includes a single pulse ofpredetermined duration for each R-wave detected by its correspondingchannel R-wave detector, and the composite R-wave detector triggeroutput is triggered by the leading edge of the OR-gate output.

In highly-preferred embodiments, each of the plurality of channel R-wavedetector performs the steps of: (1) acquiring its corresponding ECGchannel signal from the living body; (2) digitizing its correspondingECG channel signal into a corresponding digital ECG channel signal; (3)filtering its corresponding digital ECG channel signal with a bandpassfilter and applying an absolute value filter thereto to create acorresponding filtered ECG channel signal; (4) for each sequential valueof its corresponding filtered ECG channel signal, comparing the filteredsignal to an ECG tracking threshold (TT), (a) applying the computationTT=TT_(p)+c₂ (ST−TT_(p)) where TT_(p) is the previous value of TT, c₂ isa constant, and ST is a fraction (c₁) of the maximum value of itscorresponding filtered ECG channel signal during a previouspredetermined time period (t_(m)), (b) if the corresponding filtered ECGsignal is no greater than TT, incrementing a corresponding counter, butif greater than TT, setting its corresponding counter to zero, and (c)if no channel trigger has occurred for a predetermined dropout period(t_(D)), then setting TT to ST; and (5) comparing its correspondingcounter value to a predetermined refractory count RC and, if itscorresponding counter value is equal to RC, outputting a channeltrigger. In some of these highly-preferred embodiments, each of theplurality of channel R-wave detectors has the same settings for c₁, c₂,t_(m), t_(D), and RC, and in other such embodiments, each of theplurality of channel trigger signals is an input to an OR-gate theoutput of which is the trigger output of the composite R-wave detector.In certain other of these embodiments, each channel trigger signalincludes a single pulse of predetermined duration for each R-wavedetected by its corresponding channel R-wave detector, and the compositeR-wave detector is triggered by the leading edge of the OR-gate output.

In yet another aspect of the inventive method for detecting R-waves froman ECG signal derived from a living body, the method comprises comparingthe ECG signal to a threshold that is independent of levels of the ECGsignal at which previously-detected R-waves were detected.

DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B are two exemplary 2D X-ray images from a cardiacinterventional procedure showing multiple catheters and certainanatomical structures.

FIG. 2 is an illustration of a conventional X-ray machine with the C-armin the anterior-posterior image acquisition position.

FIG. 3A illustrates the set of axes which define the 3D coordinates of aprocedural suite. Each element of the suite has a position which can bedescribed by coordinates in this coordinate system.

FIG. 3B is an illustration of the geometric magnification which resultsfrom the geometric arrangement and conic form of the output of the X-raysource of the X-ray machine of FIG. 2.

FIG. 4 is a general schematic of an embodiment of the inventive methodfor determining the 3D location of an object such as catheter using asingle-plane fluoroscopic system.

FIG. 5 is a schematic description of the initialization and calibrationprocesses of the method of FIG. 4.

FIG. 6 is a schematic description of the image selection process of themethod of FIG. 4.

FIGS. 7, 8 and 9 together present a detailed schematic description ofmany of the functional elements of the general schematic of FIG. 4,beginning with the formation of image clusters in order to locatecandidate catheter-tip images and through the process applyingcorrections to catheter-tip measurements. FIG. 9 is a detailed schematicdescription of an embodiment of the method or process of sub-pixelstatistical edge detection of a catheter-tip image.

FIG. 10 is a fluoroscopic image illustrating the effect of fluoroscopicsystem geometry on image size.

FIG. 11 is a diagram illustrating the effect of fluoroscopic systemgeometry on image size.

FIG. 12 is a schematic description of the inventive R-wave detector usedto generate a cardiac gating signal for the image selection process ofFIG. 6.

FIG. 13A is a 4-heartbeat portion of an example digitized channel ECGsignal x(t_(i)).

FIG. 13B is an example portion of an intermediate digital ECG signalf(t_(i)) generated by filtering x(t_(i)) from FIG. 13A with a bandpassfilter.

FIG. 13C is an example portion of a filtered ECG signal g(t_(i))generated by filtering f(t_(i)) from FIG. 13B with an absolute valuefilter.

FIG. 13D is a 2-heartbeat portion of the signal g(t_(i)) of FIG. 13Cannotated to illustrate certain steps within the inventive R-wavedetector of FIG. 12.

FIG. 14A is a schematic description of an embodiment of a compositeR-wave detector using multiple channel R-wave detectors as inputs to anOR-gate.

FIG. 14B is a timeline illustration of the operation of the compositeR-wave detector of FIG. 14A.

FIG. 15A is a schematic description of an alternative embodiment of acomposite R-wave detector using multiple channel R-wave detectors asinputs.

FIG. 15B is a timeline illustration of the operation of the compositeR-wave detector of FIG. 15A.

FIG. 16A is an example 2D X-ray image of a number of objects in a livingbody, including a cardiac catheter.

FIG. 16B is an image created by applying a threshold filter to theexample image of FIG. 16A.

FIG. 17 illustrates one embodiment of a method to compute the center ofa cluster of pixels in a thresholded image.

FIG. 18 illustrates one embodiment of a method to compute thelongitudinal midline of a cluster of pixels in a thresholded image.

FIGS. 19A and 19B illustrate two cases of the method of FIG. 18. FIG.19A illustrates the case in which the image cluster is generally alongthe x-axis. FIG. 19B illustrates the case in which the image cluster isgenerally along the y-axis.

FIG. 20 illustrates a bounding box containing an cluster image.

FIG. 21 is an image of a cluster which is a candidate to be identifiedand measured as a catheter tip. Profiles used to carry out measurementwithin the inventive method are shown.

FIG. 22 illustrates one profile from the example profiles shown in FIG.21.

FIG. 23 is an illustration of the calculations of one method toup-sample a digital image.

FIG. 24 is an enlargement of the image of FIG. 21 illustrating the stepsof sub-pixel statistical edge detection.

FIG. 25 is the same enlargement as shown in FIG. 24, illustrating theresults of sub-pixel statistical edge detection as applied in FIG. 24.

FIG. 26A is a diagram representing the projection geometry of an X-raymachine and illustrating the radial elongation distortion which occursin such machines. Imaging of a spherical object is illustrated.

FIG. 26B is a further diagram extending the diagram of FIG. 26A toinclude the imaging of a cylindrical catheter tip.

FIG. 27 is a diagram illustrating several idealized cluster profiles andthe pivot-point characteristic of edge point determination alongintensity profiles.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Single-plane fluoroscopy offers a 2D animated view of a patient to aphysician during operations involving catheters and leads. Using such asystem, despite a physician's experience, the position of the patient,and the relative position of the catheter to anatomical features, animprecise 3D position of a catheter is determined. This inventiondetails the use of image analysis algorithms to identify the location ofthe catheter tip in 3D space using only 2D fluoroscopy. (Although anyradio-opaque instrument can be used, the embodiments presented hereinutilize cardiac catheter tips as the points-of-interest for 3D positionestimation.)

As mentioned above, it is desirable to achieve z-coordinatedetermination accuracy of at least ±4 mm. In order to achieve suchaccuracy, it has been determined that the precision required inmeasuring medical-object dimensions is about 0.023 mm (for a typicalcatheter size and detector geometry). Since the inventive methoddisclosed herein estimates object dimensions using two edges formed froma series of edge points, the error required for each point is half ofthis (0.023 mm/2=0.011 mm). For a typical detector with resolution of1000×1000 pixels and an area of 20×20 cm, each pixel is 200 mm/1000pixels=0.2 mm/pixel. The fraction of a pixel corresponding to aprecision of 0.011 mm is 0.011/0.2=0.05 pixels (about 1/20th of apixel).

FIG. 4 is a general schematic of an embodiment 20 of the inventivemethod for determining the 3D location of an object such as catheterusing a single-plane fluoroscopic system. For convenience, the inventivesystem henceforth is called the Catheter Tip 3D Location System and willbe referred to herein as C3DLS to shorten the terminology. The term“system” is used to describe the method since the method is carried outprimarily by software which constitutes a system in the wider use of theterm. The terms “process” and “functional element” as well as thespecific terms referred to in the various elements in the schematicfigures are used interchangeably herein in describing the operations ormethod steps of the inventive method or system. C3DLS 20 includes theuse of a conventional single-plane fluoroscopic system 10 whichgenerates a series of sequential 2D fluoroscopic images which areavailable as a stream of digital images. The rate at which such imagesare generated may be a typical rate such as 7.5 or 15 images (or frames)per second but such rates are not intended to be limiting to the scopeof this invention. (X-ray systems are capable of generating both lowerand higher rates of images per second.) Images in such stream areavailable to be processed by C3DLS and are selected by an imageselection process in functional element 23. Further detail for the imageselection process of element 23 is found in FIG. 6 and described laterin this document. Image selection process 23 determines which imageswill be processed by C3DLS 20.

Exemplary images are a 1000×1000 array of 8-bit bytes, one byte perpixel with each byte holding an intensity value ranging from 0 to 255.Another example is a 512×512 array of 12-bit pixel intensity valuesranging from 0 to 4095 with two bytes (16 bits) representing each pixel.The left/right angulation and cranial/caudal angles are also needed andinput for each image frame. These examples are not intended to belimiting; other data formats are possible.

The remainder of C3DLS 20 includes the processing of the images whichhave been selected by image selection process 23. A starting point forthese processing steps is labeled as point B in FIG. 4 in order thatsuch point may be understood in subsequent figures. The same is true forpoints A-G in FIGS. 4 through 9.

C3DLS 20 includes an automated process by which a catheter tip is foundand identified as a catheter tip within images which have been selectedby image selection process 23; this process 24 (indicated by brackets)includes two functional elements, shown in C3DLS 20 as cluster formation25 and catheter-tip identification 27 and is described in more detailwith respect to FIG. 7, generally with functional blocks 131-145.Cluster formation 25 is a process by which pixels which are neighbors inan image are associated with one another as possible groups whichrepresent an object of interest. Objects which may be catheter tips formsuch groups (clusters) within an image. Catheter-tip identification 27is the process by which the appropriate clusters are determined to beimages of a catheter tip.

C3DLS 20 includes measurement of a catheter tip in functional element 29and further refinement of such measurement in functional element 31.Correction 31 of a catheter-tip measurement involves several inventivesteps and represents another important concept in the present invention.Further details are presented later in this application with respect toFIG. 7-9, beginning with functional blocks 147 of FIG. 7 and includingall of FIGS. 8 and 9.

C3DLS 20 then proceeds in functional element 33 to determine the 3Dcoordinates and orientation of a catheter tip based on the accuratemeasurements of the catheter tip, using the geometry of fluoroscopicsystem 10 in this determination.

With the 3D position and orientation of the catheter tip now known, suchinformation is available to the clinician to be used in a variety ofways. Functional element 35 represents the display of such data in avariety of ways, among which are a simple coordinate display which showsthe depth (z-coordinate) of the catheter tip so that the clinician canbe aware of depth while viewing x and y image information. However, manyother ways to present such data may also be used, including thegeneration and display of 3D mapping data to enable the clinician tovisualize various anatomical structures in order to assist in aninterventional procedure.

The following sections describe C3DLS 20 in more detail. Among theconcepts involved in the present invention, the invention takes intoaccount the inherent characteristics of 2D fluoroscopy images and usessophisticated computational algorithms to resolve the issue of catheterdepth (z-coordinate) in 3D space, data which is missing in conventionalX-ray systems.

Fluoroscopic images, because they are projections, are representationsof an imaged volume in which the imaged 3D anatomy is transformed into a2D projected image according to precise geometric rules based on therelative positions of the X-ray source 11, the anatomy being imaged andX-ray detector 13. X-ray projection imaging thus includes an inherentprojection distortion due to the fact that X-ray source 11 is at finitedistance from the anatomy being imaged on table 12. As a result, objectscloser to source 11 are magnified more than objects more distant fromsource 11 in the projected image.

FIGS. 10 and 11 depict such a conic projection of fluoroscopy system 10and the images obtained therefrom. FIG. 10 shows a fluoroscopic image113 with permanent pacemaker leads 115 and 117. Two ECG patches 119P andaccompanying leads 119L are shown in image 113. There is no differencein the sizes of the two patches 119P and leads 119L since they arelocated in the same z position. However, two catheters 121 and 123 arealso shown in image 113. Catheters 121 and 123 are identical cathetersbut catheter 121 appears in image 113 as larger than catheter 123 sincecatheter 121 is located posterior to the patient's chest and catheter123 is located anterior to the chest. Catheter 121 is therefore closerto the X-ray source and therefore the magnifications of the images ofcatheters 121 and 123 differ due to the conic projection or keystoningeffect present from the geometry of fluoroscopic system 10.

FIG. 11 provides further illustration, depicting a diagrammaticrepresentation of the images produced by the effect of conic projection.X-rays emanate in a conical beam from X-ray source 11 through which acentral axis CA passes. Two points P1 and P2 are located at distances x1and x2, respectively, from central axis CA of 2D fluoroscopic system 10.x1 and x2 are equal distances from central axis CA. P1 and P2 are alsolocated at distances z1 and z2, respectively, from patient table 12. Inthis example, although x1 and x2 are equal, the x-positions of thecorresponding points in the image on X-ray detector 13, X1 and X2, aredifferent. X1 is larger than X2, and this difference is illustrative ofthe distortion in 2D fluoroscopic images.

Those X-rays in the conical beam that do not undergo photoelectricabsorption or Compton scatter in the target object (e.g., a human body)reach detector 13 to form the primary 2D radiation image. The primaryimage information in the spatial pattern of the X-ray photons that reachdetector 13 results from the differential, incremental attenuationspresented by each layer, structure and device within the patient, e.g.,lung, heart, vertebrae, catheters, as the primary X-rays travel alongtheir straight-line paths. The attenuation follows the well-knownexponential attenuation process. In addition, some of the Comptonscatter generated as the primary X-rays pass through the patient alsoreach detector 13. These X-rays carry no practical information, reducethe apparent contrast of objects within the anatomy, and add to thequantum X-ray noise in the image.

X-ray detector 13 converts the spatial pattern of the X-rays incidentupon it into a digital image. This digital image is typically processed,stored, and displayed. In addition, the information in the digital imageis used to control an X-ray generator which in turn energizes an X-raytube. Typically, fluoroscopic system 10 includes an automatic brightnesscontrol (ABC) which is used to control system 10 to scale the digitalimage such that the average intensity of the digital image will bearound or slightly lower than 50% of the digital image intensity scale,e.g., an average intensity of 100 within a detector range of 0 to 255(an 8-bit image intensity scale). Intensity values in the area of theheart might be around 100, the values in the lung well over 200, and thevalues in the spine around 25. Intensity values in an image of acatheter electrode tip may be close to 0 or a bit higher, depending onthe beam spectrum and the amount of scatter in the image.

In general, the higher the intensity level of the image, the higher theimage quality, due to a higher signal-to-noise ratio (SNR). However, allother things being equal, the higher the image SNR, the higher theradiation dose to the patient. So each imaging mode of the X-ray systempresents a compromise between image quality (SNR) and patient dose. Dueto the amount of fluoroscopy time required for complex cardiacinterventional procedures, clinicians operate at the lowest patient doseand image SNR levels that provide adequate imaging. This in turn meansthat the typical fluoroscopic image is “noisy,” meaning that there aresignificant statistical variations in the intensity levels in eachpicture element (pixel) due to random X-ray quantum noise.

The factors that fluoroscopic system 10 may control include the beamenergy spectrum, the beam intensity (for a given beam spectrum), and theexposure time. An operator of system 10 typically has the ability toselect the fluoroscopic imaging rate, measured in number of images persecond. For the cardiac applications encompassed by this invention,useful rates may typically range from 3.75 to 30 images per second. Thedegree of attenuation presented by each type of body tissue and devicesplaced within the patient is determined by the tissue or materialcomposition, its density, and the X-ray beam spectrum. Since the X-raysystem automatically adjusts the beam spectrum, among other factors, toachieve the desired image SNR, it follows that the attenuation of adevice placed within the body, and therefore its contrast relative toadjacent areas in the image, will vary depending on the size of thepatient, the particular imaging scene, and various settings of system10. The amount of X-ray scatter in the image scene, which is dependenton patient size, imaging field of view, distance of the patient fromdetector 13, and other factors, also influences the contrast of devicesimaged within the body.

Referring again to FIG. 4, functional element 21 includes steps whichinitialize and calibrate C3DLS 20. FIG. 5 is a more detailed schematicrepresentation of the initialization and calibration steps 21. FIG. 5includes fluoroscopic system 10A, labeled with reference number 10Ainstead of 10 to indicate that single-plane fluoroscopic system 10 isused during initialization and calibration steps in two different C-arm8 angular positions in order to generate two 2D X-ray images to capturez-coordinate information. (The term “two-view fluoroscopy” is used todifferentiate it from biplane fluoroscopy in which additional hardwareis involved in order to generate the second 2D X-ray image in a planedifferent from the first plane at the same instant the first image isgenerated.) An important object of the present invention is to provide3D position and orientation information using the simplest offluoroscopic system hardware (e.g., system 10 in FIG. 2). Two-viewfluoroscopy refers to the process of first generating a 2D X-ray imagein a first C-arm 8 angular position and then generating a second 2DX-ray image (of the same objects in the same position) after rotatingC-arm 8 of conventional single-plane fluoroscopic system 10 into asecond angular position. An image selection process 23 serves to captureand select specific images as desired during initialization andcalibration. Image selection 23 is controlled either automatically ormanually to supply the desired digital images for processing by C3DLS20.

In order to initialize and calibrate C3DLS 20, the effective X-raydimensions of a catheter tip are measured using two-view fluoroscopy,shown in FIG. 5 as functional element 39 (two-view projectioncalculations). Determination of effective X-ray dimensions is animportant step in C3DLS 20. Catheters may be coated with a layer ofresilient material which both varies in thickness fromcatheter-to-catheter and may not have the same ability to absorb X-rayenergy as other parts of a catheter (e.g., metallic parts). This,together with the existence of catheter manufacturing processvariations, means that (1) an assumption cannot be made as to actualcatheter dimensions (e.g., diameter) based on manufacturer model numberand (2) a physical caliper measurement is inadequate to characterize howa particular catheter will appear in an X-ray image.

The measurements of functional element 39 are performed by placing acatheter on table 12 (e.g., on top of the patient or directly on table12 in its sterile package) between X-ray source 11 and X-ray detector13, and two images from different known C-arm 8 angular positions andgeometry are acquired by video acquisition in functional block 37. Theanalytic methods to determine the 3D coordinates and the effectivedimensions of a catheter using data from two 2D images of the sameobject taken from two different angles are well known to those skilledin the art of mathematics, involving an over-determined system of threeequations with two-unknowns. One such method utilizes the method ofleast squares. In general, the points of intersection (x,y,z) will notbe precisely the same because of pixelation within the images. Thus,such statistical methods are applicable.

In order for such analysis to provide accurate estimates of effectiveX-ray dimensions, the points (x,y,z) of the catheter tip identifiedwithin the two images must correlate with the same point physically onthe catheter; otherwise the assumption behind the analysis is incorrectand will lead to erroneous results. It has been found that the center ofthe generally rectangular area of a catheter-tip image and the fourcorners of such area are good points for such determinations.

Catheter diameters are important dimensions which are used within C3DLS20. The effective X-ray diameter is the value of catheter-tip diameterthat, when applied to the depth calculations made from measuredcatheter-tip image diameters in 2D fluoroscopic images, provides themost accurate, unbiased results. Use of the effective X-ray dimensionssignificantly reduces measurement bias because their determination iscalculated using the same measurement biases that will occur insubsequent single-view measurements. Since the geometric magnificationfactor involved in each of the two views is known, either view can beused to calculate the effective X-ray diameter, or for increasedaccuracy, an average of two or more values may be used.

The measurement of a catheter tip from a 2D image is subject to biasesfrom several sources, including X-ray tube focal spot penumbra, imageprocessing (e.g., edge enhancement), and the choice of threshold valueapplied to the intensity profile of the catheter tip in the image. Thefocal spot penumbra, for example, blurs the edges of the catheter tip,making it more difficult to define the exact edges. X-ray detector 13introduces some blurring of the catheter-tip image edge due to lateraldispersion of signals within detector 13 and the fact that the detectorelements are of finite size (e.g., 140-200 microns). Further, athreshold value is used to make an estimate of the location of the edgesof the catheter tip within the image. This threshold value is anintensity value between the dark area of the catheter-tip image and thelighter background area around the dark image. The particular thresholdvalue is chosen to be not overly sensitive to background noise but maybe a source of error.

These biases are present in the measurements made at known catheter-tipdepth with the two-view images but are also present in all othersubsequent catheter-tip width measurements as the C3DLS process proceedsso the subsequent measurement biases tend to be canceled out by usingthe effective X-ray dimensions. For example, any measurements of acatheter made at the same depth as the two-view images should be thesame, with no bias. Further, biases should not vary significantly overthe range of depths that are likely to be encountered in navigatingwithin the heart or other organs in the body using C3DLS 20. Ininterventional electro-physiology procedures, the movements of thecatheter tip may be in the range of ±3 cm from its initial depth. Sincethe source 11-to-image 13 distance is typically in the range of 100-120cm, the range of depth excursion is relatively small.

The process 39 of determinating effective X-ray dimensions of a cathetertip also includes the identification of the catheter-tip image withinthe two images. Such identification may be done with user interaction orby automatic identification steps. Such automated steps are describedlater in this document as steps within the C3DLS process and are appliedwithin initialization and calibration as needed. Since automation is amajor object of the present invention, automatic catheter-tip imageidentification is the preferred approach within initialization andcalibration.

Other steps within initialization and calibration include settingcriteria for maximum and minimum catheter-tip image area (step 41A) andsetting a criterion for a maximum catheter-tip image length (step 41B).Each of these quantities and relationships is used later on in thecalculations carried out within C3DLS 20 and will be discussed later inthis document.

Although any or all sequentially-obtained images can be analyzed andused, an important part of the C3DLS process is the selection of whichimage frames are processed by the algorithms within C3DLS 20. Not allimages are processed because of (1) physical movement of the patient(e.g., cyclical cardiac and respiratory movements and other motion suchas patient or equipment repositioning) and (2) the processing speed ofthe computer. For cyclical motion, it is desirable that images processedwithin C3DLS 20 are captured at the same phase within these motions andthat the computational results of C3RDS 20 are displayed in real-time tothe clinician. In order to select images at the same phase within thesemovements, processes by which images are selected during periods ofrelatively small motion may be employed. Such processes are known asgating.

Referring again to FIG. 4, each 2D image which is processed by C3DLS 20after the initialization and calibration 21 is selected from thesequential stream of digital images input to functional element 23. Thestream of digital images may be generated by a number of differenthardware configurations and is represented as video acquisition 37. Oneobject of the present invention is to provide a system which can be usedwith a wide variety of conventional 2D X-ray machines, the video outputof which may vary considerably. One way to satisfy this need is toacquire digital images from the signals which are used to drive thedisplays of the X-ray images. Such approaches are well known to thoseskilled in the art of computer and imaging hardware.

FIG. 6 illustrates the image selection process. C3DLS 20 includes twosubsystems which are configured to select images to be processed, acardiac-based system (an ECG sensor 43 and an R-wave gate 50) and arespiration-based system (a respiration sensor 45 and a respiratory gate47). One or both such systems may be used to control image selector 38.Other possible approaches to image selection other than cardiac gatingand respiration gating may be programmed into image selector 38. Thesemay include but not be limited to timing based on another signal orinput command available

Both cardiac and respiration gating are used to select images duringwhich minimal motion occurs in order to minimize image blurring whichresults from movement during X-ray detection. In the case of cardiacgating, it may also be desirable to select images during a particularphase of the cardiac cycle.

In the following section, R-wave gating, the process by whichfluoroscopic images are ECG-gated, is described.

The human heart is composed of electrically-active muscle cells. Thesecells contract when the cell membranes depolarize, and this results in(1) the vital contraction of the four chambers of the heart to pumpblood and (2) weak electrical currents that are detectable on the bodysurface as the electrocardiogram (ECG). In the electrocardiogram, adominant portion is the QRS complex, the most prominent feature of whichis the R-wave that is generated when the largest mass of muscle cellsdepolarizes. These cells make up the ventricles, and the left ventricleis a large contributor to the ECG signal. Other features of the ECG arethe P-wave (atria depolarization) and the T-wave (ventriclesrepolarization). (See FIG. 13A for a representative R-wave asindicated.) The QRS complex includes the Q-wave, R-wave and S-wave andis normally dominated by the R-wave. (This characterization of the QRScomplex is a simplification. The example ECG of FIG. 13A does notinclude a recognizable S-wave. In fact, it is somewhat common that anyone of the Q, R, or S-waves may be missing. And, a number of othervariations in ECG polarization and depolarization sequences arepossible, all well known to those skilled in the art ofelectrocardiology.) ECG signals varying considerably from patient topatient and among the multiple leads of an ECG measurement. Therepresentative single-lead ECG signal of FIG. 13A is a good illustrationof how, for example, the Q-wave and S-wave may not be easily recognizedin an ECG signal. The R-wave also varies considerably from patient topatient but is more reliably recognized (detected) because of itsdominant properties. Measurement noise from a variety of sources is alsoa confounding factor in ECG signals.

During certain procedures, an electrophysiologist (EP) must position andconstantly reposition several different catheters for mapping andablation in the beating heart of a patient. Typically, the EP hasavailable a fluoroscopic imaging system that uses X-rays through thepatient to make a 2D image of the heart. The EP works rapidly in toorder to minimize number of fluoroscopic images to reduce as much aspossible the procedure time and thus patient exposure to X-rays.Fluoroscopic images are typically obtained at rates of 7.5 or 15 imagesper second, and sometimes even higher, thereby usually providing manyfluoroscopic images per heartbeat.

Because the contraction of the heart chambers (ventricles and atria)necessarily results in motion of the heart chamber walls and flow ofblood, any catheter that is positioned in a heart chamber will move. Themovement of the catheter with every heartbeat is a major complicationfor the EP. The motion is, however, highly repetitive since mostheartbeats are very similar to immediately recent heartbeats. (Thiscardiac motion is the dominant confounding motion, but in addition thereis a smaller, slower, and repetitive confounding motion fromrespiration. There may also be random motion from the patient.)

R-wave gating, the timing of imaging with respect to heartbeat, may behelpful in three ways: (1) to present a sequence of fluoroscopic imagesto the EP in which all of the motion of the heart and catheters during asingle heartbeat is substantially removed so that from one heartbeat tothe next, the EP sees essentially a stable image; (2) to select a timeor range of times during which heart motion is minimal so thatfluoroscopic images may be captured with the least amount of blurringduring the short exposure time of a single X-ray image; and (3) toselect a fluoroscopic image at a specific time of the cardiac cycle,typically diastole, which may match the same phase of cardiac cyclewhen, for example, a computed tomography (CT) image of the heart hadbeen made and which is being used as the substrate for an evolving modelof ablation-related information.

To present a stable image from heartbeat-to-heartbeat, a constant phaseof the heartbeat is detected. The easiest and most reliable phase of theheartbeat to detect is systole, just at the instant of the R-wave. TheR-wave of normal beats and ectopic (abnormal) beats occurs at the momentthe ventricles depolarize and contract; thus, images of both normal andectopic beats may be used for this purpose.

With respect to minimal cardiac motion, many images may be retained forcomputer analysis or presentation to the EP because during much of thenormal cardiac cycle, the heart chamber walls are moving more slowly.R-wave gating identifies these time periods indirectly as timing offsetsfrom each recognized R-wave. In selecting a particularly beneficialinstant in the cardiac cycle at which to obtain a fluoroscopic image,this moment is predicted as an offset interval from the detected R-waverather than recognizing this moment directly in the ECG. Thus, detectionof R-waves in an ECG signal is an important function for such cardiacgating.

It is desirable for this R-wave gating function to be simple, reliable,accurate, and automatic, to involve a low computational burden, to beable to function on a single ECG channel, and to operate as close toreal-time as possible (i.e., with minimal delay.

FIG. 12 illustrates an embodiment of an inventive R-wave detectionsystem 50. FIG. 12 includes a legend which provides definitions of allof the signals and parameters shown in R-wave detection system 50. Thisembodiment is illustrated in generality (parameters shown as symbols)and specificity (values given for parameters at the bottom of the“Legend.”) FIGS. 13A-13C illustrate three signals used within R-wavedetection system 50 and described below.

As depicted in FIG. 12, a single-channel analog ECG signal x(t) from aliving body being monitored is converted to a digital ECG signalx(t_(i)) by an analog-to-digital (A/D) converter 51 (A/D sampling ratef_(s)=500 samples per second in system 50). A representative digital ECGsignal x(t_(i)) is shown in FIG. 13A. Digital ECG signal x(t_(i)) is fedthrough a 25 Hz digital bandpass filter 53 to generate intermediatedigital signal f(t_(i)). A representative intermediate digital signalf(t_(i)), generated from x(t_(i)), is shown in FIG. 13B.

Filter 53 and all other remaining elements of R-wave detection system 50may be realized in software programmed to compute the requiredquantities in a digital computer such as a PC. Filter 53 includes aboxcar filter s(t_(i)) which is a moving-window sum of k samples ofx(t_(i)) and a second-differencing filter producing an intermediate ECGsignal f(t_(i)). In the flowchart of FIG. 12, the equations for s(t_(i))and f(t_(i)) are shown. As shown in R-wave detection system 50, k has avalue of 10. That is, s(t_(i)) is the sum of the current input valuex(t_(i)) and the 9 previous values of the digitized ECG signal, andintermediate ECG signal f(t_(i)), the bandpass filter 53 output, is asecond difference of these sums s(t_(i)).

The center frequency of a digital bandpass filter depends on the productof k and sampling period t_(s)(t_(s)=1/f_(s) seconds). In the embodimentof FIG. 12, k=10 and t_(s)=0.002 seconds. The product of these twoquantities is 20 msec, corresponding to a bandpass filter centerfrequency of 25 Hz. These filter relationships are well known to thoseskilled in the art of digital signal processing.

In this embodiment, filter 53 is a symmetrical, finite-impulse-responsefilter which has a 60-millisecond-wide impulse response. IntermediateECG signal f(t_(i)) peaks approximately 30 msec (30 milliseconds) afterthe peak of input ECG signal x(t_(i)), introducing approximately a 30msec delay.

Note that f(t_(i)) in FIG. 13B, and consequently g(t_(i)) in FIG. 13C,are shown as having much higher signal levels than x(t_(i)) in FIG. 13A.This is due to the fact that as shown in filter 53, the relationship fors(t_(i)) is not divided by k (not averaged but summed over 10 values).Such embodiment is not intended to limit the structure of bandpassfilter 53; it is clear that averaging or summing or using yet adifferent value of gain for the computation of intermediate digitalsignal f(t_(i)) does not change the basic structure of the embodiment ofR-wave detection system 50. Further, the signal levels shown forx(t_(i)), f(t_(i)) and g(t_(i)) are arbitrary levels of digital signals,and the performance of R-wave detection system 50 is not dependent onsuch signal gain settings.

Intermediate ECG signal f(t_(i)) is rectified by computing its absolutevalue at element 55 to produce filtered ECG signal g(t_(i)). Arepresentative filtered ECG signal g(t_(i)), generated from f(t_(i)), isshown in FIG. 13C. Filtered ECG signal g(t_(i)) is compared to acomputed ECG tracking threshold TT at a comparator element 57. Iffiltered ECG signal g(t_(i)) is less than or equal to ECG trackingthreshold TT, a counter 59 is incremented by one count. Counter 59 is ineffect a timer since a comparison is made by comparator 57 each time anew filtered ECG signal g(t_(i)) value is available, i.e., 500 times persecond in R-wave detection system 50. In this embodiment, therefore,each count is equivalent to 2 msec. If, at comparator 57, filtered ECGsignal g(t_(i)) exceeds ECG tracking threshold TT (usually during theR-wave), counter 59 is reset to 0 as indicated by element 61 in the FIG.12 flowchart. This reset to 0 occurs only when triggered by thecomparison resulting from comparator 57 and is indicated by thedotted-line connection between counter reset 61 and counter 59.

During the period of time after a reset from counter reset 61, whenfiltered ECG signal g(t_(i)) is below ECG tracking threshold TT, counter59 is not reset and continues to count. When counter 59 reaches apredetermined refractory count RC, as determined by a comparator element63, an R-wave trigger is outputted, and this trigger is provided toother portions of the C3DLS process or used by other systems requiring acardiac gating signal. In this embodiment, refractory count RC has avalue of 45 which corresponds to a refractory period of 90 msec (45×2msec sampling period). With this set of parameters, when an R-wavetrigger is generated, R-wave detection system 50 is indicating that anR-wave has occurred approximately 120 msec ago (approximately a 30 msecfilter delay plus 90 msec refractory period). If the count from counter59 is not equal to RC in comparator 63, the process simply waits for thenext sample to occur as shown in functional element 68.

A portion of each cycle of a heartbeat is called the refractory period,a period during which the heart muscle is repolarizing. During suchperiod, the next heartbeat cannot occur; i.e., until repolarization iscomplete. The purpose of refractory count RC is to prevent doubletriggers from being generated within a single heartbeat.

FIG. 13D is an enlarged portion of the filtered ECG signal g(t_(i)) fromFIG. 13C as indicated in FIG. 13C. FIG. 13D shows two heartbeat segmentsof the representative filtered ECG signal g(t_(i)). The two heartbeatsare approximately 0.67 seconds apart. The first heartbeat segment alongthe time axis is referred to by reference numbers ending in the letter“a”, and like features of the second heartbeat segment have likereference numbers having the letter “b”. Among other portions of thefiltered ECG signal g(t_(i)), each heartbeat includes signal segmentsaround peaks 71 a and 71 b generated primarily by the correspondingR-waves in digital ECG signal x(t_(i)). On the leading side of peaks 71a and 71 b are smaller peaks 73 a and 73 b, respectively, and on thetrailing side of peaks 71 a and 71 b are smaller peaks 75 a and 75 b,respectively. Within the remaining regions of signal g(t_(i)) in FIG.13D are signals with levels much lower than the peaks as just described.

R-wave detection system 50 includes the dynamic setting of ECG trackingthreshold TT, and ECG tracking threshold TT is independent of allprevious levels of the ECG signal at which R-wave triggers haveoccurred. Prior art R-wave detector systems which include dynamicsetting of a tracking threshold typically set the tracking thresholdlevel based on an average of previous ECG signal levels at whichtriggers had occurred or at a level determined by some other function ofprevious R-wave-triggered processed ECG signal levels. Suchprevious-trigger-level-dependent R-wave detectors may operate well aslong as the cardiac performance does not vary too much or as long as theECG signal does not contain too much noise. In particular, arrhythmiasor other cardiac electrical abnormalities cause such prior art R-wavegates to perform poorly.

In R-wave detection system 50, filtered ECG signal g(t_(i)) is monitoredby element 65 to find its maximum value within a predetermined timeperiod t_(m). Time periods t_(m) are not moving-window periods but aseries of sequential periods t_(m) seconds long. Finding the maximumvalue of filtered ECG signal g(t_(i)) in such a fashion allows R-wavedetection system 50 to adapt to changing signal levels within ECG signalx(t). Based on the most recent maximum value of g(t_(i)), a suggestedECG tracking threshold ST is computed in element 67 as a constant c₁times the maximum value of g(t_(i)). In this embodiment, c₁=0.5. Then,in element 69, ECG tracking threshold TT is computed, as follows:TT=TT _(p) +c ₂ (ST−TT _(p))where TT_(p) is the previously-set value of TT and c₂ is a constant. Thecomputed value for ECG tracking threshold TT is used in comparator 57unless for a predetermined dropout period t_(D) after the last triggerwas generated, a new trigger has not been generated, at which point ECGtracking threshold TT is set to ST. In this embodiment, predetermineddropout period t_(D) is set to 5 seconds.

An initial value for tracking threshold TT may be set at anexperimentally-determined numerical value. However, the dynamic settingof tracking threshold TT quickly converges to its proper value in a fewtime periods t_(m).

ECG tracking threshold TT is repeatedly adjusted to adapt to a levelequal to a fraction of suggested ECG tracking threshold ST. (In theembodiment of FIG. 13, that fraction is 0.5.) To gradually adjust ECGtracking threshold TT, suggested threshold ST is derived fromindependent t_(m)-second time periods of filtered ECG signal g(t_(i)).(Such time periods are independent in that they are sequential with nooverlap, i.e., these time periods are not moving-window periods.)Filtered ECG signal g(t_(i)) is inspected for t_(m) seconds to find itsmaximum within that t_(m)-second period. Thus, in this embodiment forthat 2-second period, a good choice of ECG tracking threshold TT isone-half of the maximum value of g(t_(i)) during that period. However,the next two seconds of filtered ECG signal are inspected similarly andindependently, and ECG tracking threshold TT is gradually adjusted atthe end of every two seconds (in general, t_(m) seconds) so that TTtends to track (adapt to) the independent suggested thresholds ST.

The adaptation process of element 69 operates to adjust ECG trackingthreshold TT by a fraction c₂ of the difference between its immediatelyprevious value TT_(p) and each new suggested threshold ST. This processsmooths the response of ECG tracking threshold TT to changes insuggested threshold ST (changes in the maximum value of filtered ECGsignal g(t_(i)) in sequential fixed t_(m)-second periods). The amount ofsmoothing of ECG tracking threshold TT depends on the value of the c₂,and a greater amount of smoothing also adds more time lag in theresponse of ECG tracking threshold TT to changes in suggested thresholdST. Values of c₂ closer to 0 provide a greater amount of smoothing andmore lag in the response. Values of c₂ closer to 1 produce lesssmoothing and quicker response.

ECG tracking threshold TT is also adjusted if no R-wave trigger hasoccurred for a period of t_(D) seconds. This occurs in the rare casewhen, because of more rapid changes in filtered ECG signal g(t_(i)), ECGtracking threshold TT has not responded quickly enough and the R-wavesare not being detected. In the embodiment of FIG. 12, t_(D) is 5seconds. When this occurs, ECG tracking threshold TT is set to thecurrent value of suggested threshold ST, causing heartbeats to startbeing detected immediately.

As described above, the embodiment of the inventive R-wave detectionsystem 50 of FIG. 12 is shown with parameter settings as follows:digital sampling rate=500 sps; k=10; t_(m)=2 seconds; c₁=0.5; c₂=0.25;t_(D)=5 seconds; and RC=45. It has been determined that such specificset of parameters operates well in R-wave detection system 50, but suchparameter values are not intended to limit the scope of the invention.

A sampling rate of 500 sps and a boxcar window sum of 10 samples setsfilter 53 as a 25 Hz bandpass filter. By incorporating a bandpass filterwith a higher center frequency (˜25 Hz) than is typical (˜15 Hz),inventive R-wave detection system 50 is able to more strongly rejectT-waves and P-waves while allowing sufficient R-wave signal content tobe available for detection purposes. Within the scope of this invention,bandpass filter 53 may have a center frequency other than 25 Hz. If thecenter frequency of bandpass filter 53 is set too high, however, ectopicor bundle branch R-waves may be undesirably rejected.

Predetermined time period t_(m), over which maximum values of g(t_(i))are determined in element 65, needs to be long enough to be sure tocontain at least one R-wave for the full range of expected heart rates.Thus, a minimum of about 1.5 seconds is desirable. A value of t_(m) of 2seconds corresponds to ensuring that a heart rate of 30 bpm will beproperly processed. Longer periods of time cause the adaptation of ECGtracking threshold TT to changes in the ECG signal to be undesirablydelayed.

The setting of ECG tracking threshold TT at about one-half (c₁=0.5) offiltered ECG signal g(t_(i)) maxima is appropriate since lower settingsrisk generating triggers on P-waves and T-waves and much higher levelsrisk missing R-waves that are of lower amplitude during part of therespiration cycle or from lower-amplitude ectopic heartbeats. A goodrange for values of c₁ is within about 0.4 to 0.7.

The constant c₂ affects the rate at which adaptation to ECG signalchanges occurs. It has been found that c₂=0.25 provides excellentadaptation rates; smaller correction steps slow adaptation and largercorrection steps overreact to isolated artifacts in the ECG signal.Values of c₂ within a wide range of about 0.15 to 0.8 allow theadaptation rate to be selected as desired.

The length of time for the refractory period is set by setting therefractory period parameter RC which, as explained above, is a countvalue. The refractory period (time) is RC times the sampling period ofthe digital signals. In the embodiment of FIG. 12, the refractory timeperiod is 45×2 msec=90 msec. Refractory time periods within the range of30 to 250 msec provide a useful range of values with the correspondingcount values for the parameter RC. A shorter refractory period risksgenerating double triggers within a single QRS complex; longerrefractory periods introduce additional delay. Also, longer refractoryperiods can result in missed beat detections when ectopic beats are veryearly or very high heart rates are present. Depending on a specific ECGsignal, setting RC to yield triggers in the most desirable region of theheartbeat can be achieved.

Referring now to FIG. 13D, two heartbeats are shown. These heartbeatsinclude a series of peaks as defined above. In describing the operationof R-wave detection system 50, it is assumed that from a previous 2 sectime period t_(m), ECG tracking threshold TT (81 a) was determined tohave a value of 490 shown but not quite to scale). As system 50 proceedsin time to process sequential values of filtered ECG signal g(t_(i)),none of the values of g(t_(i)) associated with peak 73 a are above ECGtracking threshold TT (81 a). At the point along g(t_(i)) indicated byreference number 77 a and all of the sampled points between 77 a and 79a, g(t_(i)) is above ECG tracking threshold TT (81 a). Thus, at eachsampled point in this region (77 a-79 a), counter reset 61 resetscounter 59 to 0. At each sample point of g(t_(i)) past the point 79 a,counter 59 is incremented by 1, and when counter 59 has a value equal toRC (45 counts), R-wave detection system 50 outputs a gating trigger atthe time indicated by reference number 83 a. There are several ways forthe trigger output to be conditioned such as producing a fixed-lengthpulse; these ways are all well known to those skilled in the art ofsignal processing and the operation of R-wave detection system 50 is notdependent on such conditioning.

As the process proceeds, element 65 monitors the values of g(t_(i)) tofind the maximum value of g(t_(i)) during the 2 sec time period t_(m)ending at the time corresponding to dotted line 85. That maximum occursat peak 71 a, and in this example has a value of 945. As time progressespast line 85, a new value of ECG tracking threshold TT (now 81 b) isestablished by the calculation in element 69, as follows: TT (81b)=490+0.25*(945/2−490)=485.63. (The time axes of FIGS. 13A-13D arescaled to start at t=0; however, this time representation is completelyarbitrary.)

In comparing the operation of R-wave detection system 50 around peak 71b, note that peak 73 b is above ECG tracking threshold TT (81 b) and sofor any sampled points of g(t_(i)) within peak 73 b which are above TT(81 b), counter reset 61 will reset counter 59 to 0. However, the point77 b along g(t_(i)) (and all of the points between 77 b and 79 b) alsocause counter 59 to be reset to 0 prior to counter 59 reaching the valueRC (45 counts). Thus, point 79 b is the final point along g(t_(i)) torestart the count in counter 59, and an R-wave trigger is then generatedat the time indicated by reference number 83 b.

One advantage of the inventive R-wave detection system is that itproduces a very low rate of false positive detections, i.e., the rate atwhich a trigger occurs when no R-wave has occurred is extremely low.Because of this, using multiple R-wave detection systems in parallel canimprove the overall performance of R-wave detection. For example, whenan ectopic or short R-wave is missed in one ECG channel, it is veryoften detectable in a different ECG channel One aspect of the presentinvention is to combine multiple R-wave detection systems into acomposite R-wave detection system for increased accuracy.

ECG signals are typically available as multiple-channels from electrodesplaced on different locations on a living body. The individual channelsignals are similar in character but also somewhat different both indetailed shape and phase. FIGS. 14A and 15A illustrate two embodimentsof such a composite R-wave detection system.

Referring first to FIG. 14A which illustrates one embodiment, compositeR-wave detection system 50 c ₁. Composite R-wave detection system 50 c_(i) includes n channel ECG signals as inputs into n channel R-wavedetection systems 50(1)-50(n). Such channel R-wave detection systems areidentical in structure to R-wave detection system 50 but each operateindependently on its own corresponding channel ECG signal to generateits own channel R-wave trigger signal (herein sometimes referred to as achannel trigger signal). This set of channel trigger signals isindicated by reference number 87 and by t1(t), t2(t), . . . tn(t),respectively. Composite R-wave detection system 50 c ₁ includes anOR-gate 91 the output tc(t) of which is the composite R-wave triggersignal 89 which indicates the detection of R-waves in the multi-channelECG signal.

FIG. 14B further illustrates the operation of composite R-wave detectionsystem 50 c ₁. Four time-line functions are shown, three channel triggersignals 87 and composite R-wave trigger signal 89. Each of these signalsis represented as either being HIGH or LOW (zero) in normal logicrepresentation. Such representation is not intended to be limiting inany way. Channel R-wave detection systems 50(1)-50(n) include signalconditioning of channel trigger signals t1(t)-tn(t) such that each timea channel R-wave detection system (50(1) through 50(n)) detects anR-wave, a pulse of fixed duration is generated in the correspondingchannel R-wave trigger signal.

Pulses 93, 95, and 97 are such fixed-duration pulses in individualchannel trigger signals. (Such signal conditioning is well known bythose skilled in the art of signal processing and is not shown herein.)Composite R-wave trigger signal 89 is the output of OR-gate 91. Outputtc(t) is HIGH when any of the individual channel R-wave trigger signalsis HIGH, as shown in FIG. 14B. The leading edge of the resultant outputpulse 99 of tc(t) may be regarded as the time that the composite R-wavetrigger occurred but other times related to pulse 99 may also beregarded as such.

The time width of pulses 93-97 may be set to a period of time which whenadded to the time period corresponding to refractory count RC for theindividual RC values of the channel R-wave detectors of composite R-wavedetector 50 c ₁, sums to the period of time corresponding to refractorycount RC for an R-wave detector 50 operating alone. Thus, if the timeperiod corresponding to refractory period RC for the channel R-wavedetectors is set to about 50 msec, then the length of pulses 93-97 maybe about 40 msec. A range of suitable values for such sum may be from 50to 200 msec.

FIG. 15A illustrates a second embodiment of a composite R-wave detector,composite R-wave detection system 50 c ₂. Composite R-wave detectionsystem 50 c ₂ includes similar inputs as composite R-wave detectionsystem 50 c ₁ and the same channel R-wave detection systems to generatechannel trigger signal t1(t)-tn(t). Channel R-wave trigger signalst1(t)-tn(t) are inputs to a trigger-window filter 100. Trigger-windowfilter 100 outputs a composite R-wave trigger in a trigger output tc(t)(101). Trigger-window filter 100 is configured to output a trigger intrigger output tc(t) when it receives a channel R-wave trigger from anyone of the channel R-wave detectors. When such a trigger occurs intc(t), all channel trigger signals from the channel R-wave detectors nottriggering composite R-wave detector 50 c ₂ are ignored for apredetermined time period (lockout period t_(LO)) after composite R-wavedetector trigger output tc(t) is triggered.

FIG. 15B illustrates one such triggering. Channel R-wave trigger signalst1(t)-tn(t) each contain a channel R-wave trigger represented by pulses103, 105 and 107. Pulse 105 is the first to be received bytrigger-window filter 100, and this time is indicated by dotted line 111(hereinafter called time 111). Prior to time 111, trigger-window filter100 was ready to receive channels triggers on all of its inputs 87.After time 111, trigger-window filter 100 is configured to ignore allother channel triggers received for a predetermined period of time(lockout period t_(LO)), in this embodiment shown as the differencebetween time 113 and time 111. Composite R-wave trigger output tc(t) isshown as a constant pulse 109 of duration t_(LO) but this specific pulseshape is not intended to be limiting; any suitable pulse shape may beused.

Trigger-window filter 100 may be configured to trigger on other than thefirst-to-be-received channel R-wave trigger signal. For example,trigger-window filter 100 may be set to trigger on the second or thirdor other received channel R-wave trigger signal.

The time width of lockout period t_(LO) is set to ensure that all of thechannel R-wave triggers for a single heartbeat have occurred prior tothe end of lockout period t_(LO). The range of suitable values fort_(LO) may be about from 150 to 300 msec, and t_(LO) may preferably beset to about 200 msec.

In composite R-wave detections systems 50 c ₁ and 50 c ₂, each of thechannel R-wave detection systems 50(1)-50(n) may be set to utilize thesame parameter values or may be set to utilize parameter values whichvary among the channel R-wave detection systems.

It should be noted that the inventive composite R-wave detection systemneed not utilize multiple inventive R-wave detection systems of the typeembodied as R-wave detection system 50 as channel R-wave detectionsystems. Other R-wave detectors may be utilized to process the channelECG signals and generate channel R-wave trigger signals. However, thefact that channel R-wave detections systems 50 output extremely fewfalse positive triggers is what enables the inventive composite R-wavedetection system to beneficial.

Referring again to FIG. 6, image selection 23 may also includerespiration gating provided by respiration sensor 45 and respiratorygate 47. Respiration results in a cyclic motion of the organs in thethorax and, to some extent, the abdomen. In a manner similar to cardiacgating described above, by tracking the motion of the catheter andcreating a motion profile, the phases of the respiratory cycle duringwhich motion is minimal are identified, for example, end inspiration andend expiration. Images during these minimal-motion phases are selectedto minimize the effect of respiratory motion on the estimates ofcatheter-tip location.

Respiration sensor 45 as used herein includes any type of signal sourcewhich derives information regarding respiration from a living body.These include but are not limited to direct-measurement devices, images(X-ray, optical, etc.) of objects and structures which are moving inphase with respiration, and ECG signals which contain somerespiration-correlated information. Any of these respiration sensors 45may be used to generate a signal indicative of respiration movement andas an input to respiratory gate 47.

Respiration sensors 45 which directly measure body movement caused byrespiration are well known by those skilled in the art of medicalinstrumentation. For example, transducers mounted in belt-likestructures are used to measure abdominal or thoracic motion from which auseful sensor signal is derived. Respiratory gate 47 simply triggersimage selector 38 at points during periods of little or no movement (orat some other desired point) in order to select the preferred images.

Alternatively, an estimate of catheter-tip motion may be made byevaluating the position of the catheter tip in a series of fluoroscopicimages. This is done by comparing the (x, y) position of the cathetertip from image-to-image, and computing the distance moved in the planeof the detector from image-to-image. Minimum motion is indicated bysequential images in which the movement between images is the smallest.

Further, some channels of ECG signals may contain variations whichcorrelate with respiration. By applying filtering and other signalprocessing techniques well known to those skilled in the art of signalprocessing, it is possible extract such respiration-correlatedinformation and use it as an input to respiratory gate 47.

Referring again to FIG. 4, when an image has been selected to beprocessed within C3DLS 20, the inventive method embodied in C3DLS 20proceeds to the steps of (1) forming clusters (functional block 25) ascandidate images of a medical object (e.g., catheter tip), (2)identifying a catheter-tip image from among candidate clusters(functional block 27), and (3) determining the sub-pixel catheter-tipimage dimensions (functional block 29). These steps are described in thesections that follow and are illustrated in FIGS. 7, 8 and 9.

The circled letters B and G represent the starting and ending points ofthis subset of steps in the method embodied in C3DLS 20. At the startingpoint (B) at the top of FIG. 7, the data of the selected image is in itsraw form, that is, it has not been changed from the data stream that isprovided by video acquisition 37. At the ending point (G) of this subsetof steps at the bottom of FIG. 8, a catheter-tip image has been measuredvery accurately, providing the 2D coordinates of the corners of thecatheter-tip image (cluster 203) (functional block 183) and catheter tipimage length, width, and keystoning (functional block 185). FIG. 8illustrates method steps which branch as indicated from the schematic ofFIG. 7 to carry out certain steps in parallel to a portion of the stepsof FIG. 7, at which point (D), the results of the steps of FIG. 7 arecombined with the results of steps 179, 153 and 181 and the processcontinues in FIG. 8 with steps 183 and proceeds to the point on themethod indicated by the letter G. The method then continues at point Gin the schematic of FIG. 4 with steps 31-35.

FIG. 9 illustrates in detail the method steps of the process ofsub-pixel statistical edge detection (functional block 153). In C3DLS20, such sub-pixel statistical edge detection occurs three times insub-pixel catheter-tip image dimension determination 29. The input tosub-pixel statistical edge detection 153 is labeled with the letter Eand the output with letter F. The three instances are indicated asoccurring between E₁ and F₁, E₂ and F₂, and E₃ and F₃ within FIGS. 7 and8.

Each of these steps will be described in detail in the sections whichfollow, particularly with reference to FIGS. 7-9.

Referring again to FIG. 7, a histogram sorting of every pixel in theselected image is performed in functional block 131, determining thedistribution of pixel intensities across the entire image. For example,for a typical 8-bit X-ray image, there are one million (1,000×1,000)pixels having intensity values between 0 and 255, the darkest possiblevalue being 0. A threshold filter is applied to the image, assigning apixel value of 0 to each pixel having an intensity less than a thresholdintensity TH and a bright pixel intensity of 255 to all other pixels.

Threshold TH of threshold filter 133 is determined iteratively based onhow well clusters are delineated in a cluster formation process 135 anda cluster evaluation step 137. An initial value of threshold TH is setto assign a 0 value to 0.5% of the pixels in the image. Clusters areformed (135) and evaluated (step 137) and if it is determined that morepixels are required to form candidate clusters, threshold TH isincrementally increased in functional block 139 and steps 135 and 137are repeated until a proper cluster satisfies the evaluation of step137.

FIGS. 16A and 16B illustrate an example 2D X-ray image (FIG. 16A) towhich a threshold filter has been applied, shown in FIG. 16B. Thresholdfiltering is effective in the process of automatically identifyingcatheter-tip images since the image of a catheter tip is generally thedarkest object in such an image. (In FIGS. 16A and 16B, a catheter-tipimage is labeled with reference number 201.) Thus, since the darkestpixels are singled out through threshold filtering, catheter-tip imagesare very likely to be found as candidate clusters in such a process.

Clusters are formed (step 135 in FIG. 7) in the following manner. Avariable (Gap) is defined as the distance in pixels between dark pixels.A cluster with a Gap value of 0 means that every pixel in the cluster isa direct neighbor of another pixel in the cluster. A cluster with a Gapvalue of 1 means that every pixel in the cluster is a direct neighbor ofanother pixel in the cluster or has a 1-pixel space between it and aneighboring pixel in the cluster. Depending on the level of noise in animage, values of 0 or 1 for Gap have been found to provide good clusterformation performance.

As clusters are formed in functional block 135, a record is kept of thenumber of pixels in a cluster and the leftmost, rightmost, topmost andbottommost pixels in the cluster. The cluster coordinates within theimage are also known. This cluster information is used to evaluate acandidate cluster against the criteria established during initializationin functional block 41A and 41B (FIG. 6). The test criteria in clusterevaluation are: (1) Is the cluster area within set catheter-tip imagelimits? (2) Is the cluster near enough to a last-known catheter-tipimage location (if known)?

When a cluster passes such criteria tests in cluster evaluation 137(FIG. 7), further analysis is carried out to compute the cluster center(functional block 141), compute the cluster midline (functional block143), and determine the bounding box of the cluster (functional block145).

One approach to finding the center of the candidate cluster isillustrated in FIG. 17. FIG. 17 includes an example candidate cluster203 within a portion of a thresholded image. The center of candidatecluster 203 is calculated (functional block 141) as the average vectorof the set of vectors to each individual thresholded pixel in cluster203. In FIG. 17, these vectors are shown as the set of dotted lines witharrowheads. Only a few such vectors are shown in FIG. 17, but in thecenter computation (141), a vector representing each pixel in cluster203 is included.

If there are n thresholded pixels (pixels which are dark) in the image,then the x-component of the average vector (center) is simplyX_(av)=1/n*Σx_(i) and the y-component is Y_(av)=1/n*Σy_(i) where thesummations are carried out over all n pixels. In FIG. 17, the resultingcenter vector (X_(av),Y_(av)) is shown as vector 205.

After computing the center of candidate cluster 203, a computation of alongitudinal midline of cluster 203 is performed in functional block143. A vector representing the longitudinal axis is generally parallelto the long axis of cluster 203 and bisects cluster 203. Vectors foreach thresholded pixel (from the center) are used for this calculation.As shown in FIG. 18, quadrant vectors V1, V2, V3 and V4 represent thesum of each vector in the four quadrants of the thresholded image,respectively. (Note that these vectors are not scaled precisely in FIGS.18, 19A and 19B.)

The longitudinal axis vector V_(midline) is a composite of quadrantvectors V1, V2, V3 and V4 from the four quadrants. The composition ofV_(midline) depends on whether the main axis is predominantly along theX axis or Y axis as illustrated in FIGS. 19A and 19B. The main(dominant) axis, X or Y, is defined as the axis which contains thelongest projection of any of the four quadrant vectors V1, V2, V3, V4.For example, in Case X of FIG. 19A, the longest projection of V1 isalong the x-axis while in Case Y of FIG. 19B, the longest projection ofV1 is along the y-axis.

The vectors from diagonal quadrants (Q1 and Q3; Q2 and Q4) are added tocalculate their total contribution along either the positive x-axis (Q1and Q4) or along the positive y-axis (Q1 and Q2). From FIG. 19A, in thex-axis case, the longitudinal axis vector isV_(midline)=(V1−V3)+(V4−V2)=V1−V2−V3+V4. Similarly for the y-axis caseof FIG. 19B, the vectors along the positive Y axis are V1−V3 and V2−V4,and the longitudinal axis vector isV_(midline)=(V1−V3)+(V2−V4)=V1+V2−V3+V4.

Referring again FIG. 7, in functional block 145, a bounding box whichbounds candidate cluster 203 is found by simply determining therectangle formed from the leftmost, rightmost, topmost and bottommostpixels cluster 203. These values are known from cluster formationprocess 135. FIG. 20 illustrates such a bounding box 207 (dotted lines)of cluster 203.

Referring again to FIG. 4, after a cluster has been identified as acandidate catheter-tip image and its image center, midline and boundingbox have been found (functional blocks 141-145), the processing of suchcluster image within C3DLS 20 includes operations on the original pixelintensity data in the image and no longer on the thresholded imagepixels. The sub-pixel catheter-tip image measurement operations(functional block 29) described herein are referred to as pixel-levelgeometric calculations and are an important feature of the presentinventive method for automatically determining the 3D position andorientation of a catheter tip in a living body using single-planefluoroscopy. More detail describing the steps of sub-pixel catheter-tipimage measurement 29 within C3DLS 20 is illustrated in FIGS. 7-9.

A primary characteristic of pixel-level geometric calculations is thatsuch calculations permit statistics to be applied during analysis sincethe pixel intensities are not transformed by filters. In the inventiveC3DLS method, in the steps of determining sub-pixel catheter-tip imagedimensions, statistics are used to achieve the desired sub-pixelaccuracy at very high speeds. Many image-processing techniques includethe use of filters which perform complex operations on the pixelintensities but which also transform the intensity data into forms whichdo not preserve the original data values, thus preventing statisticaloperations on the original data values.

Another characteristic of pixel-level geometric calculations asdescribed herein is that these calculations can be completed veryrapidly. An important object of the present invention is to provide asystem which can compute 3D information from 2D X-ray images in realtime or near real time such that C3DLS can be used contemporaneouslywith an interventional medical procedure such as cardiac ablation.Although C3DLS 20 is computationally intensive, pixel-level geometriccalculations as described in the various steps in the inventive methodhave a speed advantage over many other image-processing techniques andcontribute to achieving such high-speed performance.

Referring again to FIG. 7, the area of bounding box 207 determined infunctional block 145 is expanded to include image area around boundingbox 207 to ensure that enough background area around the catheter-tipimage is available in subsequent calculations to capture informationabout background noise away from the cluster image. In embodiment C3DLS20, bounding box 207 is expanded by 3 x in both the X and Y coordinates,although the value (3) of the expansion factor is not intended to belimiting for bounding box expansion in functional block 145.

The next step, illustrated as functional block 151, is to form a numberof image profiles perpendicular to the longitudinal image midlinecomputed in step 143 and to up-sample the image along such profiles.FIG. 21 illustrates candidate cluster 203 in a portion of bounding box207. Also illustrated in FIG. 21 are a longitudinal midline 209 passingthrough a cluster center 211 computed in step 141 and several exampleprofiles 213. The profiles represent image intensities along linesperpendicular to midline 209. Functional block 151 indicates N₁ suchprofiles being formed. Note that FIG. 21 does not show all N₁ profiles;only 16 profiles are shown. The number of profiles N₁ is such that atleast one profile passes through each pixel of cluster 203 and outsideof cluster 203 in both directions along each profile 213 so that allpossible intensity variations in the image are represented in N₁profiles 213. It is particularly desirable that N₁ be such that two (2)profiles intersect each such pixel.

Note that the distance between profiles 213 shown in FIG. 21 is also notrepresentative of how close profiles 213 should be to one another. N₁profiles 213 are more tightly packed than the 16 profiles 203 shown, andprofiles may be distributed along the entire length of cluster 203 andpast each end. Thus, profiles 213 may extend between lines L₁ and L₂shown in FIG. 21. Note that the range over which profiles may bedistributed across a cluster depends on the physical shape of themedical object being imaged and the choice of geometry being trackedwith C3DLS. The range indicated in FIG. 21 is therefore not intended tobe limiting.

FIG. 22 illustrates one profile 213. The abscissa of the graph of FIG.22 is position along a line perpendicular to midline 209, and theordinate is the image intensity of the points along such line. Points incandidate cluster 203 are dark compared to the image background suchthat each profile 213 has a shape generally as illustrated in FIG. 22.

Referring again to FIG. 7, functional block 151 also includes the stepof up-sampling the image along each profile 213. To achieve the desiredaccuracy of ±4 mm depth, it is necessary to measure the width of thecatheter tip to at least 1/20^(th) of a detector pixel. In order toachieve such sub-pixel accuracy, intensity values in and around clusterimage 203 are interpolated by the process of up-sampling in order toincrease the number of image pixels. One approach to up-sampling is tolinearly interpolate between the original image intensity values at anyarbitrary point (x,y) using its four nearest-neighbor pixels. FIG. 23illustrates and presents the calculations which perform interpolationknown as bilinear interpolation. The interpolated intensity value at anypoint (x,y) is a weighted average of the values of the fournearest-neighbor pixels, with each weighting being proportional to theCartesian distance from each point. The use of bilinear interpolation inthe embodiment C3DLS is not meant to be limiting. Other approaches tointerpolation are well known to those skilled in the art of imageprocessing and mathematics and are within the scope of this invention.

In FIG. 23, weightings Q_(ij) are the intensity values of the fournearest-neighbor pixels of point P. Point P is located at (x,y), and(x₁,y₁), (x₂, y₁), (x₁, y₂) and (x₂,y₂) are the coordinates of thenearest-neighbor pixels. When up-sampling is performed with a finenessof 24×24 (i.e., increasing the number pixels by a factor of 24 in eachdirection), the up-sampled regions of the image contain 24×24 times asmany pixels as the originally-captured X-ray image (raw detectorpixels). The resulting pixels have a size smaller ( 1/24^(th)) than1/20^(th) of a raw detector pixel, and thus contribute to the sub-pixelaccuracy desired. As an example of determining N₁, assume that a clusteris an image of a catheter tip which is physically 8 mm long and that theconical projection geometry of X-ray machine 10 is such that geometricmagnification is about 1.4. Thus, the cluster, which is an image of thesuch catheter tip, will be about 1.4×8 mm=11.2 mm long on detector 13.Typical X-ray detectors may have a detector element pitch of 5/mm(detector elements ˜0.2 mm×0.2 mm), in which case the cluster will beabout 56 pixels long. Assuming that there are about 10 profiles off eachend of the cluster and ignoring the angle of the cluster midline forsimplicity, if we choose N₁ such that each pixel has two intersections,N₁ would be about 130. In general, typical catheter tips may be quite abit smaller than 8 mm so values of N₁ may be smaller than this example.

In the embodiment C3DLS 20, in functional block 151 (FIG. 7),up-sampling is shown as being performed along each profile. Up-samplingalong each profile 213 saves significant computational time, reducesmemory requirements and contributes to the speed with which theinventive method is performed since large regions of the image do nothave to be up-sampled in order to provide the necessary information foreach profile 213 which the inventive C3DLS method uses. Such up-samplingalong a profile generates 24× the number of pixels along the profile.

Note that functional block 157 of FIG. 7 and functional block 179 ofFIG. 8 include up-sampling along different sets of image profiles. Thediscussion above related to up-sampling also applies to these steps ofthe inventive method. An alternative embodiment of the inventive methodincludes the step of up-sampling the entire region around candidatecluster 203 after the expansion of bounding box 207 in functional block147. This alternative requires significant time and requires more memoryto perform the up-sampling but then eliminates the additionalalong-profile up-sampling of functional blocks 151, 157 and 179.

Referring now to functional block 153 in FIG. 7, sub-pixel statisticaledge detection 153 is performed using the up-sampled profiles formed instep 151. Referring again to example profile 213 of FIG. 22, asdescribed above, the N₁ profiles 213 are curves representing intensityvalues along lines perpendicular to longitudinal midline 209. Thus,along each profile 213, in both directions from midline 209, there is anedge point which intersects an edge of cluster 203. In FIG. 22, thesetwo points are referred to as ep₁ and ep₂. An important part ofmeasuring cluster 203 is identifying the edges of cluster 203. Cluster203 is an image of a catheter tip (or other medical object beingmeasured) in the plane of detector 13, and the image contains imagenoise which makes it difficult to determine which pixel represents anedge. However, the important sub-pixel accuracy of edge detection comesabout from having a large number of profiles from which edge points aredetermined and using the large number of points containing sub-pixelinformation from up-sampling to perform statistical analysis to generatethe precise edges of cluster 203.

Another important aspect of sub-pixel statistical edge detection 153 isconsistency, from profile-to-profile and image-to-image, in the way inwhich edge points are determined along profiles 213. In embodiment C3DLS20 of FIGS. 7 and 8, sub-pixel statistical edge detection 153 is a stepwhich is applied three different times in the analysis of cluster 203,once after each formation of a set of profiles (functional blocks 151,157 and 179). The steps of this embodiment of sub-pixel statistical edgedetection 153 are further detailed in the schematic of FIG. 9 andillustrated using example profile 213 of FIG. 22. The entry and endingpoints of sub-pixel statistical edge detection 153 are labeled E and F,respectively, in FIG. 9 and as (E₁, F₁), (E₂,F₂) and (E₃, F₃) forfunctional blocks 153, 157 and 179, respectively, to indicate the threeinstances of sub-pixel statistical edge detection 153 in C3DLS 20.

Note that for simplicity, example profile 213 as shown in FIG. 22 isdrawn as a continuous curve. In reality, profile 213 is an up-sampledpixelated curve, but the continuous representation of FIG. 22 is usefulto illustrate the principles of the steps of this embodiment ofsub-pixel statistical edge detection 153. Within expanded bounding box207, the width of profile 213 is such that the ends of profile 213 (tothe left and right of FIG. 22) contain enough points to adequatelyrepresent the background noise within the image of cluster 203.

Referring now to sub-pixel statistical edge detection 153 in FIG. 9 andto example profile 213 in FIG. 22, in functional block 167, the minimumand maximum pixel intensity values (min and max) for each profile 213are determined. In functional block 169, a value for the profileintensity range pir=max−min is computed. These three values areillustrated in FIG. 22 for example profile 213. Next, in functionalblock 171 (FIG. 9), profiles widths pw for each profile are determinedby selecting points ep₁ and ep₂ along each profile 213, starting fromthe center of each profile 213 and moving in each direction alongprofile 213, i.e., selecting the first points encountered in eachdirection at which profile 213 is greater than or equal to 55% of therange pir above the minimum min, also indicated in FIG. 22. In FIGS. 9and 22, 55% is indicated as the fixed percentage of profile intensityrange in embodiment C3DLS 20. Other values of the fixed percentage ofintensity range may be used, but it has been determined that valuesaround 50-55% are particularly beneficial.

As mentioned above, an example illustrating the general shape of aprofile is as shown in FIG. 22. The center of profile 213 is relativelyflat with most of the intensity values near 0 corresponding to pixelswith almost all X-ray photons blocked by the radio-opaque catheter tip.Profile 213 has generally steep transition regions 214 corresponding tothe transition from the radio-opaque catheter tip to the imagebackground. The edges lie within the vertical transition regions 214.The blurring within such transition regions comes about from a number offactors such as detector 13, X-ray source 11 focal spot size, andcatheter-tip motion.

For an ideally steep edge, the percentage of profile intensity at whichto place edge points is 50%, but many radio-opaque medical objects beingimaged do not have such ideally steep edges. For example, catheter tipshaving circular cross-sections which lessen X-ray absorption at theedges just due to material thickness, and some catheters have outerlayers which are not as radio-opaque as metals. Thus, many cathetershave transition regions 214 which deviate quite a bit from vertical.This variation in edge transition regions is shown schematically in FIG.27 in which several idealized profiles 219 with various transitionregions 214 are illustrated.

In connection with this invention, as a result of detailed modeling ofthe X-ray transmission of such objects and with experimentation, it hasbeen found that a pivot point (pivot level) 221 occurs in transitionregions 214 at a level other than 50%, but that the pivot behavior oftransition regions is robust over a significant range of transitionregion 214 widths. For example, in modeling a 7 French catheter tipimaged under typical clinical conditions, pivot point 221 was found tooccur at a level of about 55%, and this level was robust over a widerange of transition region 214 widths. The existence of pivot point 221indicates that edge point determination has a degree of insensitivity tomedical object edge radio-opacity.

FIG. 24 is an enlargement of cluster 203 of FIG. 21 to furtherillustrate sub-pixel statistical edge detection 153. FIG. 24 includes alarger number of profiles 213 than FIG. 21 but note that FIG. 24 alsodoes not includes all N₁ profiles involved in functional blocks 167-177(FIG. 9) of sub-pixel statistical edge detection 153 in order that thedescriptions of the steps can be more easily seen in FIG. 24. (Note thatas in FIG. 21, the pixels illustrated are original image pixels, notup-sampled pixels. The same is the case for FIG. 25.)

For each profile 213, a profile width pw is determined as described infunctional block 171 of FIG. 9. Edge points ep₁ and ep₂ on each profile213 are shown (the arrows point only to one of each such point). Infunctional block 173, a center width cw is calculated as the average ofpw of a percentage of profiles 213 around center 211. In embodimentC3DLS as shown in FIG. 9, 10% of profiles 213 are selected to determinecenter width cw. These profiles are referred to in FIG. 24 as profiles213 c. The 10% value for this profile 213 c selection is not intended tobe limiting. Other percentages may be used depending on the nature ofthe image noise. Center width cw is used to remove profiles the widthspw of which are outliers due to excessive noise in the image of cluster203. Functional block 175 illustrates the removal of outliers aseliminating from consideration profiles 213 which have pw values outsideof the range 0.9 cw to 1.1 cw. Again, the choice of these quantities(0.9 and 1.1) is not intended to be limiting. Other values may be useddepending on the noise characteristics of the image.

The final steps (functional blocks 177 and 178) of sub-pixel statisticaledge detection 153 use the two sets of edge points ep₁ and ep₂ ofremaining profiles 213 as representations of the two edges E₁ and E₂ ofcluster 203 and compute the least-squares-fit representations of E₁ andE₂. The analysis involved in performing a least-squares-fit calculationis well known by those skilled in the art of mathematical and graphicalanalysis.

Referring again to FIG. 7, with points epl and ep₂ along E₁ and E₂, thenext step is a recomputation of midline 209 using edges E₁ and E₂ infunctional block 155. The new midline 209 is then used to reform andup-sample along a new set of profiles 213 perpendicular to new midline209 (functional block 157 of FIG. 7) and to repeat sub-pixel statisticaledge detection 153 based on these new profiles 213. In parallel to thisrefinement, the inventive method branches off to steps beginning atpoint C (see FIG. 8) in order to perform measurements along thelongitudinal direction of cluster 203.

In FIG. 8, N₂ profiles parallel to new midline 209 are formed andup-sampled in functional block 179. If an edge perpendicular to newmidline 209 is to be detected, sub-pixel statistical edge detection 153is performed as described above on the newly-formed set of profilesparallel to new midline 209. Such profiles are not shown in FIG. 24since the analysis is identical to that described above for profiles213. With respect to example cluster 203 in FIG. 24, the transverse edgein the lower right portion of FIG. 24 is detected, and such edge E3shown in FIG. 25 is calculated as described above.

FIG. 25 presents the same original pixel data as is shown in FIG. 24with simply the final results of all three applications of sub-pixelstatistical edge detection 153 overlaid on the image.

Since the catheter tip being tracked in C3DLS has a rounded distal end(as seen in the upper left corner of FIGS. 21, 24 and 25), sub-pixelstatistical edge detection 153 treats the distal end of cluster 203 in amodified manner. The rounded edge of the distal end of cluster 203(corresponding to the distal end of the catheter tip) can be detected inthe same manner as described above, and a least-squares fit can becalculated to match an appropriate curve model rather than a straightline. Such modified strategies are within the elements of sub-pixelstatistical edge detection 153 as described in FIG. 9. Functional block178 can be applied with a variety of assumed shape models.

Alternatively, FIG. 25 illustrates an alternative approach tomeasurement of the distal end. Functional block 183 in FIG. 8 representsthe determination of cluster corners based on the calculations of theprevious steps. The information from point D as well as information fromthe steps above functional block 183 in FIG. 8 provide all that isneeded for embodiment C3DLS to determine the corners of cluster 203.Corners c₂ and c₃ are the intersections of E₃ with E₁ and E₂,respectively. c₁ and c₄ are identified by applying a criterion to thevalues along E₁ and E₂ to determine where the curved portion of thedistal end begins. This criterion may be, for example, that the cornersare the points along E₁ and E₂ at which the intensity values undergotheir final increase from the 0.55 pir+min level. Such criterion isillustrated in FIG. 25. Functional block 183 includes the application ofa corner criterion such as this.

Embodiment C3DLS 20 continues in FIG. 8 with functional block 185 whichis the computation of cluster length, width and keystoning based on thecoordinates of the corners. Such determinations involve straightforwardnumerical computations. Keystoning as used herein refers to thevariation in width of cluster 203 from end-to-end which indicatesout-of-plane angle. The larger (wider) end of cluster 203 is closer tosource 11, and the numerical differences are used to compute theout-of-plane angle of the medical object generating cluster 203.

C3DLS continues in functional block 159 with the step of finaldetermination of whether or nor cluster 203 represents a catheter tip byapplying the criteria established during initialization steps 41A and41B (FIG. 5). If cluster 203 is determined to be a catheter tip, C3DLSproceeds to point G in FIG. 4. Also, in functional block 163 of FIG. 8,threshold TH is set to the value found in the first pass of C3DLS up tothis point which successfully identifies a catheter tip. If cluster 203fails to satisfy the criteria in the evaluations of functional block159, C3DLS proceeds to begin the evaluation of the next cluster to beanalyzed, such clusters having been formed in functional block 135 (seeFIG. 7).

Referring again to FIG. 4, C3DLS continues at point G with themeasurements determined in functional block 185 of FIG. 8. Using thisinformation on the catheter tip of cluster 203, C3DLS proceeds to applycorrections based on distortion from radial elongation in functionalblock 31. The process by which the image of a 3D object is projectedonto planar detector 13 in conventional X-ray machine 10 is representedin FIG. 26A, illustrating corrections for radial elongation distortionin functional block 31. FIG. 26A includes a sphere 215 as arepresentative medical object producing an image 215′ within the imageplane of detector 13. The correction analysis includes consideration ofboth the radial side view and the tangential side view as indicated inFIG. 26A. An enlargement of a region within the radial side view isshown within the dotted ellipse on the right side of FIG. 26A.

The dimensions of the image of an object projected onto detector 13depend on the dimensions of the object itself, its rotationalorientation relative to detector 13, and the geometric magnification.The rotational orientation of the object can give rise to foreshorteningeffects. If, for example, a cylindrical object were being imaged, thelength of the cylinder in its projected image would depend on the anglebetween the axis of the cylinder and the plane of detector 13. If theaxis were parallel to the plane of detector 13, the length in the imagewould be given by the actual length of the cylinder times the geometricmagnification. However, if the axis of the cylinder were parallel to theX-rays passing through it, the image would be the elliptical or circularcross-section of the cylinder, and all information about its lengthwould be lost.

The only object completely devoid of foreshortening effects is a sphere,since it is rotationally symmetric about any axis through its center. Acylinder is insensitive to foreshortening of its diameter, since acylinder is rotationally symmetric about its central axis. And, asillustrated in FIG. 26A, the projected 2D image of sphere 215 is anellipse such as ellipse 215′, not a circle. Thus, radial and tangentialviews differ as shown in FIG. 26A.

FIG. 26B is a diagram illustrating an image 217′ of a cylindricalcatheter tip in the image plane of detector 13. Image 217′ is generatedwithin the geometry of FIG. 26A by replacing sphere 215 with acylindrical catheter tip (referred to herein as CC) having the sameradius as sphere 215.

The following is a list of term definitions for the diagrams of FIGS. 26and 27:

-   -   ω=effective diameter of sphere 215 and CC;    -   W=diameter of the projection of sphere 215 and CC, measured at        the level of detector 13 in a direction perpendicular to a ray        passing through the center of sphere 215 or CC—not necessarily        in the plane of detector 13;    -   W_(P)=width of projection 217′ measured in the plane of detector        13;    -   W_(R)=radial component of the width of the projection of CC at        the plane of detector 13, perpendicular to the path of the ray        passing through its center—not in the plane of detector 13 if        R>0;    -   W_(T)=tangential component of the width of the projection of CC        at the plane of detector 13, perpendicular to the path of the        ray passing through its center;    -   W_(TP)=width of the projection of sphere 215 and CC measured in        the plane of detector 13 in the tangential direction;    -   W_(RP)=width of the projection of sphere 215 and CC measured in        the plane of detector 13 in the radial direction;    -   D=distance from the focal spot of X-ray source 11 to the center        13 c of detector 13 where the plane of detector 13 is        perpendicular to the central ray running from the focal spot to        center 13 c of detector 13;    -   d=distance from the focal spot of X-ray source 11 to the plane        passing through sphere 215 or CC where this plane is also        parallel to the plane of detector 13;    -   B=distance from the focal spot of X-ray source 11 to the center        of image 215′ or 217′ at detector 13;    -   b=distance from the focal spot of X-ray source 11 to the center        of sphere 215 or CC;    -   R=distance between the center of the image 215′ or 217′ and        center 13 c of detector 13 in the plane of detector 13;    -   Θ=angle between the ray passing through the center of sphere 215        or CC and the central ray that intercepts center 13 c of        detector 13; and    -   α=angle between the selected diameter of the image of CC and the        radius drawn from center 13 c of detector 13 to the center of        the selected diameter.

Using these definitions and performing algebraic and trigonometricmanipulations well known to those skilled in the art of mathematicsyields a relationship for applying radial elongation correction 31 asfollows:d=D*ω/[W _(P)·{[Sin(α)]²+[Cos(α)]²·[Cos(θ)]²}^(1/2)]This equation enables calculation of the z-coordinate of a medicalobject from its image on detector 13, accounting for radial elongationeffects and for any orientation of the object within the image ondetector 13.

Further, from analysis of the tangential side view in FIG. 26A, thesensitivity of the z-coordinate to changes in W_(TP) is found to be:δd/δW _(TP) =−d ²/(D·ω)For typical values for the variables involved, sensitivity δd/δW_(TP)(e.g., mm z per mm diameter) is very large, requiring measurement ofeffective dimensions on the order of 0.02 mm to achieve the desiredoperational accuracy of C3DLS. Such behavior is due to the fact that thesize of a catheter tip is very small compared to the distance betweendetector 13 and X-ray source 11, which means that the divergence of thebeams passing on each side of the catheter tip is small.

In similar fashion, from radial side view analysis, the sensitivity ofthe z-coordinate to changes in W_(RP) is found to be:δd/δW _(RP) =−d ² /{D*ω·[1+(R/D)²]^(1/2)}

Referring again to FIG. 4, functional block 33 is the step ofcalculating the 3D coordinates and orientation of the medical objectbeing tracked with C3DLS 20. A combination of calculations in functionalblocks 31 and 33 produced a set of 3D coordinates for the catheter tip.3D coordinates are calculated using the four corner points c₁, c₂, c₃and c₄ found in functional block 183 (FIG. 8) and from other measurementquantities found in functional block 185. Sufficient numerical data isavailable to establish 3D coordinates of the catheter tip.

When 3D coordinates are calculated, such information may be used in avariety of ways such as displaying it as part of other medical displaymodalities such that it may be used in an interventional procedure suchas cardiac ablation. As a medical object such as a catheter is movedinside an anatomical structure such as a chamber of the heart, data maybe generated to create 3D maps of such anatomical structures byindicating that a point at which the medical object is positioned iswithin such structure and marking the 3D coordinates of the catheter tipin memory as a map data point. Map data may then be used by thephysician to help in directing the catheter tip to desired points in theanatomical structure. Such images may be integrated with other imagingmodalities for enhanced visualization during a variety of medicalprocedures.

The inventive method processes a selected 2D image as described, makingprecise measurements of effective medical-object dimensions in order todetermine the 3D coordinates and orientation of the medical object.After completion of the processing of a selected image, the inventivesystem processes a next selected 2D image. Operation may involveprocessing sequences of images of three to five seconds in length atframes rates of 7.5 to 30 images per second. Such operation enablesusing multiple images to make measurements of the medical object andperforming averaging to reduce variability and increase accuracy.

The method for displaying the mapping and ablation catheter tip in 3Dusing 2D fluoroscopy alone represent a substantial advantage over othercurrently available mapping and imaging systems. In particular, themethods provides the physician to use existing equipment in thelaboratory without significant infrastructure modification to see thecatheter in 3D anatomical s

-   -   tructure. While embodiments of the invention are described with        reference to the exemplary embodiments using a cardiac catheter,        it will be understood by those skilled in the art that small        variations may be made to use the inventive method with other        radio-opaque medical objects such as leads, stents and other        instruments used for interventions and therapy. In addition,        many modifications may be made to the teachings of the invention        to adapt to a particular situation without departing from the        scope thereof. Therefore, it is intended that the invention not        be limited to the embodiment disclosed for carrying out this        invention, but that the invention includes all embodiments        falling with the scope of the intended claims.

The invention claimed is:
 1. A method for detecting an R-wave from anECG signal derived from a living body, the ECG signal including aplurality of ECG channel signals, the method comprising the steps of:providing a plurality of channel R-wave detectors each processing adistinct signal of the plurality of channel ECG signals to generate adistinct channel trigger signal of a plurality of channel triggersignals; inputting each channel trigger signal into a composite R-wavedetector to generate a composite R-wave trigger, whereby the compositeR-wave detector more accurately detects R-waves than each of theplurality of channel R-wave detectors.
 2. The method of claim 1 whereineach of the plurality of channel trigger signals is an input to atrigger-window filter, and a composite trigger output of the compositeR-wave detector is triggered by a channel trigger signal from any one ofthe channel R-wave detectors, all channel trigger signals for the otherchannel R-wave detectors not triggering the composite R-wave detectorfor a predetermined time period after the composite R-wave detectortrigger output is triggered.
 3. The method of claim 2 wherein thechannel trigger signal triggering the composite R-wave detector is thefirst-received channel trigger signal after the predetermined timeperiod has ended.
 4. The method of claim 1 wherein each of the pluralityof channel trigger signals is an input to an OR-gate the output of whichis the trigger output of the composite R-wave detector.
 5. The method ofclaim 4 wherein each channel trigger signal includes a single pulse ofpredetermined duration for each R-wave detected by its correspondingchannel R-wave detector, and the composite R-wave detector triggeroutput is triggered by the leading edge of the OR-gate output.
 6. Themethod of claim 1 wherein each channel R-wave detector performs thesteps of: acquiring its corresponding ECG channel signal from the livingbody; digitizing its corresponding ECG channel signal into acorresponding digital ECG channel signal; filtering its correspondingdigital ECG channel signal with a bandpass filter and applying anabsolute value filter thereto to create a corresponding filtered ECGchannel signal; for each sequential value of its corresponding filteredECG channel signal, comparing the filtered signal to an ECG trackingthreshold (TT), applying the computation TT=TT_(p)+c₂ (ST-TT_(p)) whereTT_(p) is the previous value of TT, c₂ is a constant, and ST is afraction (c₁) of the maximum value of its corresponding filtered ECGchannel signal during a previous predetermined time period (t_(m)); ifthe corresponding filtered ECG signal is no greater than TT,incrementing a corresponding counter, but if greater than TT, settingits corresponding counter to zero; and if no channel trigger hasoccurred for a predetermined dropout period (t_(D)), then setting TT toST; and comparing its corresponding counter value to a predeterminedrefractory count RC and, if its corresponding counter value is equal toRC, outputting a channel trigger.
 7. The method of claim 6 wherein eachof the plurality of channel R-wave detectors has the same settings forc₁, c₂, t_(m), t_(D), and RC.
 8. The method of claim 6 wherein each ofthe plurality of channel trigger signals is an input to an OR-gate theoutput of which is the trigger output of the composite R-wave detector.9. The method of claim 8 wherein each channel trigger signal includes asingle pulse of predetermined duration for each R-wave detected by itscorresponding channel R-wave detector, and the composite R-wave detectoris triggered by the leading edge of the OR-gate output.